Java_com_etc_function1()
CMakeLists.txt
создать общую библиотеку test.soSystem.LoadLibrary('test');
public native void function1()
успешно.nm.exe -D test.so
Могу подтвердить Java_com_etc_function1()
существует.Все в порядке, пока я не решил заменить CMakeLists.txt
файл с Android.mk
файл.
Когда я изменяю файл приложения, чтобы он указывал на:
ndkBuild {
path 'src/main/jni/Android.mk'
}
вместо CMakeLists.txt,
мой проект все еще создает библиотеку test.so, и когда я запускаю nm.exe -D test.so
Я также могу подтвердить, что Java_com_etc_function1()
существует в нем, и я все еще могу загрузить библиотеку в MainActivity.java, но проблема в следующем: Я не могу позвонить: public native void function1()
, в красном цвете, ошибка: не может найти подходящую функцию JNI Java_com_etc_function1 () , и когда я нажимаю Alt + Войти -> выберите функцию создания — ничего не происходит.
Это мой файл Android.mk ниже,
Файл Android.mk:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_EXPORT_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
Файл Application.mk:
APP_OPTM := release
APP_ABI := all
APP_PLATFORM := android-21
Я думаю, что мне не хватает еще 1 шага для вызова этой функции из MainActivity.java, но я до сих пор не могу понять. Пожалуйста, если вы можете мне помочь.
Благодарю.
Задача ещё не решена.
Других решений пока нет …