前期开发调试时一直都是在真机上运行的debug包,没有发现随机黑屏的问题,准备上架打release包后发现部分Android的机型会出现随机黑屏的问题,查了资料后说有以下原因:
1.混淆(未解决):
在android/app/build.gradle文件中添加以下配置
buildTypes {
release {
minifyEnabled false //关闭混淆
shrinkResources false //删除无用资源
signingConfig signingConfigs.release
...
}
}
2.关闭R8压缩,使用D8压缩(未解决):
在android/gradle.properties文件中增加
# 开启D8压缩
android.enableD8=true
# 关闭R8压缩
#android.enableR8=true
以上尝试后都没有解决问题,又考虑是否是Android和flutter生命周期不一致?项目使用了fishredux框架?
在android/app/src/main/kotlin/.../MainActivity.kt文件中写入Android原生的生命周期,重新编译后发现没执行这个文件,因为没有接触过Android原生,因此造成未执行的具体原因不清楚,但想来和生命周期不一致没关系。
将页面替换为flutter原生的写法不使用fishredux,重新编译后也没有解决问题。
到这里这个问题已经卡了我一周多了,没有报错无法定位问题,release也无法打断点,有点绝望,最后想实在不行就重构&#