Я разрабатываю приложение для Android с использованием C ++.
Когда я пытаюсь создать public native String HelloJNI()
в MainActivity.java
это показывает эту ошибку:
Сообщает об объявлении собственного метода в Java, где не найден соответствующий метод JNI в проекте
Это потому, что Android Studio (ну, на самом деле, Lint) не находит функции C ++, определенной в вашем проекте, которая реализует ту, которую вы объявляете здесь.
Объявите функцию C ++ для реализации определения вашей функции («public native String HelloJNI ()»), что-то вроде этого:
JNIEXPORT jstring JNICALL Java_your_package_name_ MainActivity_ HelloJNI(JNIEnv * env, jobject obj)
{
/* Your code here */
return env->NewStringUTF("Your return value");
}
Решение 2: Нажмите на название вашей функции в вашей декларации, подождите, пока не появится «красная лампочка», нажмите на красную лампочку и выберите «Создать функцию xxx», она должна автоматически создать метод-заглушку, которую я поместил выше в вашем файле C ++ вы.
Других решений пока нет …