ndk构建库可以';不能通过eclipse将其添加到apk文件中,并且在库模块的aapt a之后发出签名
首先,我运行的是一台托管在win8上的ubuntu 12.04 x86虚拟机。我正在为我的android应用程序编译一个c/c++库 在目录中使用ndk build之后,似乎库和模块都成功构建。我还可以在libs/armeabi/下看到.so文件。然而,当我将我的项目导入eclipse时,它总是给出一个错误,说找不到lib,在本例中是命名事件。我解压了apk文件,发现lib/armeabi/.so没有打包在apk文件中 下面是详细的信息,希望大家能帮助我 NDK构建:ndk构建库可以';不能通过eclipse将其添加到apk文件中,并且在库模块的aapt a之后发出签名,eclipse,android-ndk,ubuntu-12.04,aapt,android-keystore,Eclipse,Android Ndk,Ubuntu 12.04,Aapt,Android Keystore,首先,我运行的是一台托管在win8上的ubuntu 12.04 x86虚拟机。我正在为我的android应用程序编译一个c/c++库 在目录中使用ndk build之后,似乎库和模块都成功构建。我还可以在libs/armeabi/下看到.so文件。然而,当我将我的项目导入eclipse时,它总是给出一个错误,说找不到lib,在本例中是命名事件。我解压了apk文件,发现lib/armeabi/.so没有打包在apk文件中 下面是详细的信息,希望大家能帮助我 NDK构建: simon@ubuntu:
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
另一个问题是,当我尝试使用aapt a将.so lib添加到.apk文件时,它似乎成功了,但是当我使用adb install在我的设备上安装它时。它会提示:
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/jni$ ls ../libs/armeabi/
libevent.so
simon@ubuntu:~/projects/apps/latest/tgs-android/bin$ jarsigner -verify IntroActivity.apk
jar verified.
警告:
此jar包含未经完整性检查的未签名项
有关详细信息,请使用-verbose和-certs选项重新运行
感谢您的帮助!
提前谢谢 您可以通过在Eclipse中执行以下步骤来解决此问题: 一,
- 窗口->首选项->C/C++->生成->设置
- 选择CDT GNU C/C++错误分析器
- 在底部的错误分析器选项中,添加具有以下内容的新条目:
Severity: Warning Pattern: (.*?):(\d+): Android NDK: WARNING:(.*) File: $1 Line: $2 Description: $3
(.*):(\d+)(\d+:)?(.*)
这里讨论了这一点: