当前位置: 代码迷 >> Android >> android 代码混淆导致有关问题,快速定位
  详细解决方案

android 代码混淆导致有关问题,快速定位

热度:89   发布时间:2016-04-28 00:44:11.0
android 代码混淆导致问题,快速定位

代码混淆导致问题,快速定位

在代码混淆打包时,屏蔽了用到的第三方库,以及常规的android混淆屏蔽,但生成的apk,运行还是会崩溃。事出必有因,后来分析找到原因是使用greendao自动生成的java-gen下package中的内容没有屏蔽代码混淆,导致存储数据库时,报*a(SourceFile:) NullPointerException *
混淆打包apk,运行崩溃 总结如下:

我们在打包时,debug版本没问题,但混淆后release版本有时会出现异常崩溃,
比如:a(SourceFile:) NullPointerException

针对这种情况,可以通过抓UncaughtExceptionHandler崩溃日志或者第三方比如云测工具查看崩溃的原因。在androidstudio下还有一种更好的方式。

在androidstudio中可以设置debug下也混淆,通过android log直观的、快速的定位问题所在
设置如下

signingConfigs {            release {            }            debug{            }   }}    buildTypes {        release {            // 不显示Log            buildConfigField "boolean", "LOG_DEBUG", "false"            //开启代码混淆            minifyEnabled true            // 移除无用的resource文件            shrinkResources true            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            signingConfig signingConfigs.release  //使用上述签名信息         }        }        debug {            //开启代码混淆            minifyEnabled true            // 移除无用的resource文件            shrinkResources true            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'            signingConfig signingConfigs.debug        }    }

更多问题请关注 android开发遇到问题点滴

  相关解决方案