【发布时间】:2014-09-12 09:37:07
【问题描述】:
在我的 Android 项目中,使用最新的 Gradle 构建工具,我有一个包含原生 C 代码和一些简单函数的文件。 C 文件中包含的唯一内容是 string.h 和 jni.h,这些函数只返回 String 和原语。该文件位于 jni 目录中,除了其他源文件夹(java、res 等)。
当我构建应用程序时,它会编译 C 代码,生成 .so 文件并将其包含在我的 APK 中。问题是 .so 文件已删除所有符号。
检查放置在 build/intermediate/ndk/obj 中的中间 .so 文件时,所有符号仍然存在。所以在第一个 .so 文件生成之后的某个地方,当它被打包时,一切都被剥离了。
使用命令行 ndk-build 构建 .so 文件时,一切正常,符号也包含在内。
这是 Android Gradle 插件中的错误(我使用的是最新版本!)还是我遗漏了什么?
【问题讨论】:
-
您使用哪个 NDK 版本?
-
尝试了 r9d 和 r10。结果相同。
标签: android android-ndk java-native-interface android-studio android-gradle-plugin