Android ndk开发 打包成apk后 找不到module
16lz
2021-01-23
最近遇到了一个特别奇怪的问题,我用eclipse开发的一个android ndk的项目真机调试的时候运行正常,而当签名打包成apk后,在安装之后就崩溃了(或 闪退),打印信息是找不到响应的模块名。
后来苦苦查询了好久之后,才发现是这个Android的一个打包优化的问题(参考http://www.41443.com/HTML/Android/20141112/205277.html?4c534f393ea9c1a6=1),ProGuard是一个免费的java类文件压缩、优化、混淆器。它探测并删除没有使用的类、字段、方法和属性。它删除没有用的说明并使用字节码得到最大优化。它使用无意义的名字来重命名类、字段和方法.。或许ProGuard把我们的自定义的模块名当成了没有用的代码而删除了。。
还有的可能性是要指定我们自己写的模块是一个外部的链接库,这个要声明的。
解决方法:
在Android.mk文件中加入如下语句:
这样的话就是不启动优化,再添加这个语句之前我的打包apk是7600kb,加入之后是7800kb,而且生成的apk安装之后正常运行~
更多相关文章
- Android 开发使用 Gradle 配置构建库模块的工作方式
- react-native 之与"android原生模块"交互
- 坑中速记整理! 使用 kotlin 写第一个 ReactNative Android 模块
- android switch模块
- Android模块化(二)——模块通信和模块间服务调用
- Android的SMS短消息格式和主要字段
- Android Wifi模块分析(总览)
- android phone模块 4.2平台和4.4平台上的不同