Android debug包运行正常,release包崩溃解决办法

1. 添加配置调试release包,这样的抓取的log日志,这种方式可以知道具体错误,(无法精准到是哪一行)

/在 AndroidManifest.xml 文件的 application 标签中
添加以下配置,即可在release包下的日志了
/

ini 复制代码
    android:debuggable="true"
    tools:ignore="HardcodedDebugMode"

2.debug下gson解析一切正常,但是发了release版本的时候,发现解析出来的数据全部是null.

原因:因为release版本下用了混淆,而gson解析需要的javabean,我忘了忽略混淆了,导致被混淆后,无法正正常解析.

解决:把javabean加入避免混淆。

要忽略的javeBean是静态内部类。

写法:写上类的绝对路径,类名 ,$ ,再就是内部类名称。

kotlin 复制代码
-keep class com.example.app.Mybean$StaticTest{ *; }

如果是正常的javeBean就直接写上类的绝对路径,类名即可;

kotlin 复制代码
-keep class com.example.app.MyClass{ *; }

如果想要忽略某个包下的所有javaBean。就直接写上包的路径即可;

kotlin 复制代码
-keep class com.example.app.bean.** { *; }

3 .release模式下app启动greendao,发现null异常:

简单搜了下,指向了是greendao混淆导致的问题,但是检查混淆配置,已经有了混淆的配置:

scala 复制代码
-keep class org.greenrobot.greendao.**{*;}
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
public static java.lang.String TABLENAME;
}
-keep class **$Properties

如果是 ArrayIndexOutOfBoundsException 需要将混淆配置调整为

scala 复制代码
-keep class org.greenrobot.greendao.**{*;}
-keep public class * extends org.greenrobot.greendao.AbstractDao
-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {
    public static java.lang.String TABLENAME;
}
-keep class **$Properties
-keepclassmembers class **$Properties {*;}

#optional
-keep class net.sqlcipher.database.**{*;}
-keep public interface net.sqlcipher.database.**
-dontwarn net.sqlcipher.database.**
-dontwarn org.greenrobot.greendao.**
相关推荐
梓仁沐白2 分钟前
Android清单文件
android
董可伦2 小时前
Dinky 安装部署并配置提交 Flink Yarn 任务
android·adb·flink
每次的天空3 小时前
Android学习总结之Glide自定义三级缓存(面试篇)
android·学习·glide
恋猫de小郭3 小时前
如何查看项目是否支持最新 Android 16K Page Size 一文汇总
android·开发语言·javascript·kotlin
flying robot5 小时前
小结:Android系统架构
android·系统架构
xiaogai_gai5 小时前
有效的聚水潭数据集成到MySQL案例
android·数据库·mysql
鹅鹅鹅呢6 小时前
mysql 登录报错:ERROR 1045(28000):Access denied for user ‘root‘@‘localhost‘ (using password Yes)
android·数据库·mysql
在人间负债^6 小时前
假装自己是个小白 ---- 重新认识MySQL
android·数据库·mysql
Unity官方开发者社区6 小时前
Android App View——团结引擎车机版实现安卓应用原生嵌入 3D 开发场景
android·3d·团结引擎1.5·团结引擎车机版
进击的CJR9 小时前
MySQL 8.0 OCP 英文题库解析(三)
android·mysql·开闭原则