android app 混淆 打包 错误日志追踪,Android studio混淆打包日志 混淆日志 查看

Android studio混淆打包日志 混淆日志 查看

Android studio混淆打包日志 混淆日志 查看

一 打混淆包,带正式签名

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当然不在话下啦!

c6674bab1a85c49e17f9891e58b0137a.png

948c3b6fd5290dad00e61c8f45a0c1e3.png

注意:将log日志按照格式进行粘贴到:obfuscated stack trace中:

格式:为(每一行要有 【at】,不然识别不出来)

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混淆打包日志 混淆日志 查看相关教程

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以在Android Studio中选择Build菜单,然后选择Generate Signed Bundle/APK或者Generate Signed APK。在弹出的对话框中,选择你的keystore文件并输入密码。接下来,勾选"Run ProGuard"选项来开始混淆代码。最后,点击"Finish"按钮,Android Studio就会开始混淆打包你的应用程序。 ### 回答2: 在Android Studio中进行混淆打包可以通过以下步骤进行: 1. 首先,打开你的项目并选择要混淆打包的模块。通常情况下,这是你的app模块。 2. 在项目窗口的右侧选择"Project"视图,然后找到你的模块,展开它,在该模块的文件夹中找到"build.gradle"文件。 3. 双击打开"build.gradle"文件,然后在文件的末尾添加以下代码: ``` android { ... buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } ``` 以上代码中,我们通过设置`minifyEnabled`为`true`来启用混淆,然后使用`getDefaultProguardFile`方法来引入默认的Android混淆规则文件,最后通过`proguard-rules.pro`指定自定义的混淆规则文件。 4. 接下来,在项目窗口中找到"app"模块下的"app"文件夹,展开它找到"proguard-rules.pro"文件。如果该文件不存在,则需要创建一个。 5. 双击打开"proguard-rules.pro"文件并添加你自己的混淆规则,按照需求混淆你的代码。 6. 最后,在顶部工具栏中选择"Build" > "Build Bundle(s) / APK(s)" > "Build APK(s)"来进行打包打包完成后,你可以在`app/build/outputs/apk/release`目录下找到生成的APK文件。 请注意,混淆过程需要时间,并且在某些情况下可能会导致代码中的错误或异常。因此,当进行混淆前,请确保备份你的代码,并在混淆后对生成的APK进行测试以确保它正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值