合并的AndroidManifest导致可调试设置为true发布构建



我今天一整天都在处理一个奇怪的烦人的问题。我最近接管了一个代码库,我试图第一次将应用的发布buildType上传到play store(用于内部跟踪测试),它一直报告可调试是真的。我通过APK分析器检查了AndroidManifest,确实可调试设置为true。于是,寻找罪魁祸首的旅程开始了(到目前为止还没有成功)。到目前为止我检查过/尝试过的事情:

  • 尝试在构建中强制调试为false。
  • 尝试使用tools:remove="android:debuggable"
  • 尝试通过android:debuggable="false" tools:replace="android:debuggable"替换
  • 检查合并清单选项卡,android:debuggable没有出现在那里
  • 我已经通过了所有的库/依赖关系,仔细检查,他们没有属性集(我知道,因为我不能看到它在合并清单选项卡,可能没有它,但我的想法,所以我检查了

知道我可能会错过什么,或者在其他地方检查,或者尝试什么吗?

工具:

  • TargetSDK - 29
  • CompileSDK - 29
  • BuildTools - 29.0.3
  • GradleW 6.5
  • 注意:项目没有口味,只有默认的buildTypes(调试和发布)

好了,我终于想通了。由于testCoverageEnabled=true的发布buildType,清单中的debuggable属性被设置为true…我不知道这是testCoverageEnabled的副作用,但现在回想起来,这是有道理的。有点扫兴的结果,但我想这只是开发者生活中的又一天:D

相关内容

最新更新