LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := qt5Core-prebuilt
LOCAL_SRC_FILES := libQt5Core.so
LOCAL_EXPORT_C_INCLUDES += qtbase/include
include $(PREBUILT_SHARED_LIBRARY)
は、その後、私はAndroid.mkファイル
PROJECT_PATH/JNI /私のライブラリ/アンドロイドで私のライブラリをコンパイルしますAndroid.mkファイルがPROJECT_PATH/JNI/QT-ライブラリ/ Android.mkです。 MK:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myLibrary
LOCAL_SRC_FILES := com_example_qtsignaux_Library.cpp
LOCAL_SRC_FILES += Receiver.cpp
LOCAL_SRC_FILES += Emitter.cpp
LOCAL_SRC_FILES += moc_Receiver.cpp
LOCAL_SRC_FILES += moc_Emitter.cpp
LOCAL_SHARED_LIBRARIES := qt5Core-prebuilt
LOCAL_C_INCLUDES += ../qt-library/qtbase/include
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
私はNDKビルドスクリプトを使用してJNIフォルダをコンパイルすると、すべてがうまく動作しますが、呼び出し時に次のエラーを取得する:
static {
System.loadLibrary("myLibrary");
}
java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.example.qtsignaux-1/lib/arm/libmyLibrary.so"
私はAPKフォルダごとするライブラリをunziped
お知らせ:libQt5Core.so、libmyLibrary.soと libgnustl_shared.soはLIB/armeabiである/とlib/armeabi-v7a /フォルダ
マイApplication.mkファイルルックス以下のような:
APP_ABI += armeabi armeabi-v7a
APP_STL := gnustl_shared
APP_CPPFLAGS := -frtti -fexceptions
は、私は本当に理解していないどのようなエラー手段とシステムはapplication_package_name/libに/ アームフォルダ内のライブラリをロードしようとする理由。このフォルダは本当に存在するのですか?これは私の状況ではarmeabiとarmeabi-v7aだけですか?
ご協力いただきありがとうございます
の右のjarファイルが含まれています。 'JNI_OnLoad'関数を定義しなかった場合は、どこから引き出されているのか、どうして失敗するのかを調べる必要があります。 – fadden
こんにちは。私はまだ私のライブラリでstartTest()という名前の関数が1つしかないので、 – suns9