1

我在 Android JNI 项目的 prebuild 目录中使用了一些预构建的 so。预构建库的 Android mk 文件如下所示:

include  $(CLEAR_VARS)
LOCAL_MODULE := foo-prebuild
LOCAL_SRC_FILES := libfoo.so
include $(PREBUILT_SHARED_LIBRARY)

但是每次我运行时ndk-build -B,在 libs/armeabi 中生成的so文件都会改变。所以我意识到 ndk-build 修改了 so 文件,而不是简单地复制它们。当我必须使用 git 等版本控制软件来管理这些 so 文件时,这很烦人,因为很难知道提交的版本是否与 prebuild 目录中的 so 一致。我可以让它们保持不变吗?

4

1 回答 1

0

要检查 NDK 对您的二进制文件的确切作用 - 使用详细输出运行它:ndk-build V=1. 这将打印 NDK 在后台执行的所有命令。可能它会在符号表中剥离调试信息、未导出条目strip

于 2016-06-22T11:26:04.377 回答