目录

debug打包运行没问题,release打包后项目运行异常

问题现象

debug模式没有问题,release打包后项目运行异常,具体表现包括但不限于以下几种:

  1. 使用部分功能应用闪退。
  2. 应用闪退无法进入。
  3. 字段异常。

背景知识

代码混淆技术可以增加代码的复杂性和模糊性,从而提高攻击者分析代码的难度。

问题定位

release包问题,先判断本地调试debug包时是否同样有问题,若没有问题,大概率是在发布模式下,代码经过混淆后,某些关键属性或方法可能被意外修改或删除,可关闭混淆后打release包再测试是否还有问题。

分析结论

代码混淆是导致发布模式下出现各种问题的主要原因。在发布模式下,代码经过混淆后,某些关键属性和方法可能被修改或删除,导致应用无法正常运行。

修改建议

  1. 直接关闭混淆:

    通过在模块build-profile.json5文件中配置,关闭代码混淆。参考文档:混淆配置。

  2. 不关闭混淆:

    开启混淆后,代码中的方法、属性或路径被混淆,但运行的时候访问的是未混淆的方法、属性或路径,可能导致功能不可用,因此需要将对应的字段配置保留选项。关于保留选项的排查场景及配置方式请参考保留选项。