标签:代码混淆
在代码混淆打包时,屏蔽了用到的第三方库,以及常规的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开发遇到问题点滴
标签:代码混淆
原文地址:http://blog.csdn.net/u011570979/article/details/46136649