为什么 ndk-build 会生成两个不同的库,一个很大,一个很小?
Why is ndk-build producing two different libraries, one very large and one smaller?
为什么 ndk-build 会生成两个不同的库,一个很大,一个很小?我应该使用哪个?
较小的一个写在 libs/armeabi-v7a
文件夹中(构建过程创建文件夹)并且 libs
文件夹与包含源代码的 jni
文件夹处于同一级别正在建设。 .so 文件是 747 KB
较大的一个写在 obj/local/armeabi-v7a
文件夹中(同样,全部由构建过程创建)并且 obj
文件夹与 jni
文件夹处于同一级别,其中包含正在构建的源。 .so 文件是 6.7 MB。
较小的是 运行 strip
on the bigger one. The smaller one is packed into APK and runs on the device. But don't delete the bigger one! If you encounter a crash in native code, you can use addr2line
将崩溃报告归因于源代码的结果
${NDK}/toolchains/…/bin/arm-linux-androideabi-addr2line -e obj/local/armeabi-v7a/libshared.so 0022f9d8 000357bb
为什么 ndk-build 会生成两个不同的库,一个很大,一个很小?我应该使用哪个?
较小的一个写在 libs/armeabi-v7a
文件夹中(构建过程创建文件夹)并且 libs
文件夹与包含源代码的 jni
文件夹处于同一级别正在建设。 .so 文件是 747 KB
较大的一个写在 obj/local/armeabi-v7a
文件夹中(同样,全部由构建过程创建)并且 obj
文件夹与 jni
文件夹处于同一级别,其中包含正在构建的源。 .so 文件是 6.7 MB。
较小的是 运行 strip
on the bigger one. The smaller one is packed into APK and runs on the device. But don't delete the bigger one! If you encounter a crash in native code, you can use addr2line
将崩溃报告归因于源代码的结果
${NDK}/toolchains/…/bin/arm-linux-androideabi-addr2line -e obj/local/armeabi-v7a/libshared.so 0022f9d8 000357bb