在proguard.cfg加上下面两行,可以定位行数。
-renamesourcefileattributeSourceFile
-keepattributesSourceFile,LineNumberTable
编译出release版本后,可以看到目录下有个mapping目录,有个mapping.txt文件。从崩溃日志里面可以找相应的崩溃代码,再从mapping里面查找相应的崩溃函数,这样可以定位到具体问题。
一般来说,debug版本没有混淆,如果不崩溃,但是release版本混淆后崩溃的话,基本判断是混淆问题。
如果通过崩溃日志和mapping仍然无法定位,你可以在崩溃点加上log,再做进一步判断,这样肯定可以定位问题。