まず、win8でホストされているubuntu12.04x86仮想マシンを実行しています。ac /c++ライブラリをAndroidアプリにコンパイルしています。
ディレクトリでndk-buildを使用した後、ライブラリとモジュールが正常にビルドされたようです。また、libs /armeabi/の下にある.soファイルも表示されます。ただし、プロジェクトをeclipseにインポートすると、この場合はeventという名前のlibが見つからないというエラーが常に発生します。そして、apkファイルを解凍したところ、lib / armeabi/.soがapkファイルにパックされていないことがわかりました。
以下は詳細な情報です、誰かが私を助けてくれることを願っています。
NDKビルド:
simon@ubuntu:~/projects/apps/latest/tgs-android/jni$ ndk-build
/home/simon/Android/android-ndk-r8c/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 11 a in /home/simon/projects/apps/latest/tgs-android
ndroidManifest.xml
Compile++ thumb : swift <= NativeLib.cpp
Compile++ thumb : swift <= sha1.cpp
Compile++ thumb : swift <= compat.cpp
Compile++ thumb : swift <= sendrecv.cpp
Compile++ thumb : swift <= send_control.cpp
Compile++ thumb : swift <= hashtree.cpp
Compile++ thumb : swift <= bin.cpp
Prebuilt : libevent.a <= jni/libevent2/lib/
Prebuilt : libstlport_static.a <= <NDK>/sources/cxx-stl/stlport/libs/armeabi/
SharedLibrary : libevent.so
Install : libevent.so => libs/armeabi/libevent.so
それを見つけることができます
simon@ubuntu:~/projects/apps/latest/tgs-android/jni$ ls ../libs/armeabi/
libevent.so
もう1つの質問は、aapt aを使用して.solibを.apkファイルに追加しようとすると成功したようですが、adbinstallを使用してデバイスにインストールした場合です。次のプロンプトが表示されます。
simon@ubuntu:~/projects/apps/latest/tgs-android/bin$ adb install IntroActivity.apk
2871 KB/s (1089288 bytes in 0.370s)
pkg: /data/local/tmp/IntroActivity.apk
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
simon@ubuntu:~/projects/apps/latest/tgs-android/bin$
しかし、apkファイルはすでにデバッグモードのeclipseによって署名されていると思います。
simon@ubuntu:~/projects/apps/latest/tgs-android/bin$ jarsigner -verify IntroActivity.apk
jar verified.
警告:このjarには、整合性チェックされていない署名されていないエントリが含まれています。
詳細については、-verboseおよび-certsオプションを指定して再実行してください。
どんな助けでも大歓迎です!前もって感謝します!