Имя метода Java_com_mindtherobot_samples_ndkfoo_NdkFooActivity_invokeNativeFunction
может отличаться от имени вашего пакета или имени класса.Чтобы сделать это имя метода точно таким же, вы должны использовать javah
.
. Это создаст файл заголовка, который будет иметь то же имя, что и необходимый метод. Чтобы сделать этот файл заголовка, перейдите в папку классов вbin вашего проекта (убедитесь, что вы создали Java-файл со статическим методом и правильно его построили) этой командой в вашем терминале
~/workspace/Android_Example2/bin/classes$
В этом каталоге напишите следующую команду
sudo javah -jni com.NDK.android_example2.MainActivity
Измените имя пакета и имя класса в соответствии с вашим проектом. Это создаст com_NDK_android_example2_MainActivity.h в папке ваших классов.
Просто переместите этот файл в папку jni
.В этом файле будут статические методы, которые вы создали в файле MainActivity.java, но они просто объявлены как не реализованные, которые вы реализуете в своем файле C
.
ПРИМЕЧАНИЕ. При копировании метода убедитесь, что параметры метода необходимо объявить, поэтому сделайте так, чтобы они объявлялись в вашем файле C
.
Надеюсь, эта справка.