【问题标题】:Why is ndk-build producing two different libraries, one very large and one smaller?为什么 ndk-build 会生成两个不同的库,一个很大,一个很小?
【发布时间】:2015-12-29 22:05:20
【问题描述】:

为什么 ndk-build 会生成两个不同的库,一个很大,一个很小?我应该使用哪个?

较小的文件夹写入libs/armeabi-v7a 文件夹(构建过程创建文件夹),libs 文件夹与包含正在构建的源代码的jni 文件夹处于同一级别。 .so 文件为 747 KB

较大的文件夹写入obj/local/armeabi-v7a 文件夹(同样,全部由构建过程创建),obj 文件夹与包含正在构建的源代码的jni 文件夹处于同一级别。 .so 文件为 6.7 MB。

【问题讨论】:

  • “我应该使用哪个?” -- libs/中的那个。

标签: android c++ android-ndk shared-libraries android.mk


【解决方案1】:

较小的一个是在较大的一个上运行strip 的结果。较小的一个被打包到 APK 中并在设备上运行。但不要删除更大的!如果您在原生代码中遇到崩溃,可以使用addr2line 将崩溃报告归因于源代码为

${NDK}/toolchains/…/bin/arm-linux-androideabi-addr2line -e obj/local/armeabi-v7a/libshared.so  0022f9d8 000357bb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-24
    相关资源
    最近更新 更多