Android studio混淆打包日志 混淆日志 查看
2017-10-27 14:53
429 查看
一 打混淆包,带正式签名
1 编辑proguard-rules.txt文件,配置好不能混淆的类或方法,否则会报错。
a、需要反射的代码
b、系统接口
c、Jni接口
d、需要序列号和反序列化的代码(即实现Serializable、Parcelable接口的JavaBean)
e、与服务端进行元数据交互的JavaBean(JSON、XML中对应的类)
2 检查 gradle.build文件中的buildTypes release节点,确认minifyEnabled true
3 LogUtils工具类中关闭log的打印
4 可以直接在AS自带的命令行里面 执行gradle clean assembleRelease 打包
5 找到 ./build/outputs/apk/XXX-release.apk
注意备份mapping文件 ./build/outputs/mapping/release/mapping.txt
二 通过mapping文件查看混淆后的报错问题:
1,进入android sdk目录 sdk/tools/proguard/bin/proguardgui.sh 将这个文件拖到命令行中,这样就可以进入一个图形界面操作了。
2, ReTrace-->导入 mapping.txt文件,将崩溃收集器文件中的报错日志粘贴到 Obfuscated stack trace中,然后点击 ReTrace! 按钮,这样你就可以看到混淆前的代码了,定位bug当然不在话下啦!
注意:将log日志按照格式进行粘贴到:obfuscated stack trace中:
格式:为(每一行要有 【[b]at 】,不然识别不出来)[/b]
FATAL EXCEPTION: main
Process: com.dxiang.demozxing01, PID: 13580
java.lang.ArithmeticException: divide by zero
at com.dxiang.demozxing.MainActivity.onClick(MainActivity.java:131)
at android.view.View.performClick(View.java:4444)
at android.view.View$PerformClick.run(View.java:18457)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5113)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
1 编辑proguard-rules.txt文件,配置好不能混淆的类或方法,否则会报错。
a、需要反射的代码
b、系统接口
c、Jni接口
d、需要序列号和反序列化的代码(即实现Serializable、Parcelable接口的JavaBean)
e、与服务端进行元数据交互的JavaBean(JSON、XML中对应的类)
2 检查 gradle.build文件中的buildTypes release节点,确认minifyEnabled true
3 LogUtils工具类中关闭log的打印
4 可以直接在AS自带的命令行里面 执行gradle clean assembleRelease 打包
5 找到 ./build/outputs/apk/XXX-release.apk
注意备份mapping文件 ./build/outputs/mapping/release/mapping.txt
二 通过mapping文件查看混淆后的报错问题:
1,进入android sdk目录 sdk/tools/proguard/bin/proguardgui.sh 将这个文件拖到命令行中,这样就可以进入一个图形界面操作了。
2, ReTrace-->导入 mapping.txt文件,将崩溃收集器文件中的报错日志粘贴到 Obfuscated stack trace中,然后点击 ReTrace! 按钮,这样你就可以看到混淆前的代码了,定位bug当然不在话下啦!
注意:将log日志按照格式进行粘贴到:obfuscated stack trace中:
格式:为(每一行要有 【[b]at 】,不然识别不出来)[/b]
FATAL EXCEPTION: main
Process: com.dxiang.demozxing01, PID: 13580
java.lang.ArithmeticException: divide by zero
at com.dxiang.demozxing.MainActivity.onClick(MainActivity.java:131)
at android.view.View.performClick(View.java:4444)
at android.view.View$PerformClick.run(View.java:18457)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5113)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
相关文章推荐
- android studio代码混淆后,查看服务器端错误日志方法
- Android studio 混淆打包安装后报错NullPointerException int java.util.List.size()
- Android Studio 混淆打包
- Android Studio多渠道打包和代码混淆教程
- android studio 混淆后,打包报错!!!
- Android studio 混淆+打包+验证是否成功
- Android Studio 打包混淆
- 查看混淆后的日志
- 如何使用Android Studio打包混淆的Jar
- android studio混淆打包 总结 站在别人的肩膀上--看的更远
- Android studio 混淆打包时如何忽略依赖库中的第三方.so文件
- jar打包混淆上传全自动日志
- 我自己的android studio代码混淆打包参考
- Android Studio上如何混淆打包apk
- Android studio中如何查看自己的打包秘钥
- android studio 混淆打包
- [Android]查看代码混淆后的日志
- unity 利用Android Studio实时查看打印日志
- 使用Android Studio手把手教你将应用打包+代码混淆
- Android studio 混淆打包问题