我做了什麼至今是:重用在一個新的項目生成的.so共享庫的Android
把我的JNI文件夾老LIB(libold.so),並創建一個Android.mk,具有:
LOCAL_PATH :=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libold
LOCAL_SRC_FILES := libold.so
include $(PREBUILT_SHARED_LIBRARY)
之後,我運行了ndk-build,它創建了一個libold.so文件夾/ libs/armeabi。
看起來很好,但是當我運行它時可以找到我調用的方法。解決方法是更改名稱包,與以前使用的名稱包相同。
我在做什麼錯?
NDK庫中的本地方法實現都包含Java包名稱(如'Java_com_myapp_MyClass_MyMethod()')。確保在新項目中,包裝Java類位於相同的包(例如,「com.myapp」)中。 –