最近遇到了一个特别奇怪的问题,我用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安装之后正常运行~

更多相关文章

  1. NPM 和webpack 的基础使用
  2. Android(安卓)Wifi模块分析(三)
  3. Android(安卓)studio3.x 多渠道打包apk
  4. Android(安卓)命令行编译、打包生成apk文件
  5. AIR Native Extension的使用(Android)一 : 打包ane
  6. Ionic 运行报错No resource identifier found for attribute 'ap
  7. Android架构分析之使用自定义硬件抽象层(HAL)模块
  8. 使用sencha cmd创建android应用
  9. Gradle多渠道打包

随机推荐

  1. Google收购Motorola移动
  2. Android网络开发技术实战详解
  3. Android版本的RSA非对称加密实现
  4. 目录
  5. 解决 duplicate entry: com/android/voll
  6. android Splashy Flash小游戏
  7. Android使用第三方或者自制字体库(Typesp
  8. Android掌上背包游(1)
  9. OpenCV Android解决相机旋转90度及全屏问
  10. Android技术之ListView分割线显示和隐藏