码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2015-05-28 23:14:36      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:代码混淆

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

在代码混淆打包时,屏蔽了用到的第三方库,以及常规的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开发遇到问题点滴

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

标签:代码混淆

原文地址:http://blog.csdn.net/u011570979/article/details/46136649

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!