Android NDK构建失败的简单的本地功能

Android NDK Build failing for simple native function

本文关键字:功能 简单 Android 构建 失败 NDK      更新时间:2023-10-16

我试图使用ndk-build构建一个非常简单的本地函数,并获得以下错误。

DriverAdapter.cpp:6:69: error: expected ',' or '...' before 'this'

以下是我的。mk和。cpp文件

DriverAdapter.cpp

#include <jni.h>
#include <string.h>
#include <android/log.h>
#define DEBUG_TAG "NDK_AndroidNDK1SampleActivity"
void Java_com_ihearhtpi_MainActivity_helloLog(JNIEnv * env, jobject this, jstring logThis)
{
   jboolean isCopy;
    const char * szLogThis = (*env)->GetStringUTFChars(env, logThis, &isCopy);
    __android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG, "NDK:LC: [%s]", szLogThis);
    (*env)->ReleaseStringUTFChars(env, logThis, szLogThis);
}

Android.mk

LOCAL_PATH:= $(call my-dir)
include $(call all-subdir-makefiles)
include $(CLEAR_VARS)
LOCAL_LDLIBS := -llog
LOCAL_MODULE    :=driver
LOCAL_SRC_FILES :=DriverAdapter.cpp
include $(BUILD_SHARED_LIBRARY)

不知道为什么会这样。

问题是this是c++关键字。

你不能将你的论证命名为"this"