Android单元测试Manifest合并冲突:如何静默处理属性替换?
Android单元测试Manifest合并问题:
android:supportsRtl的错误与警告两难 我遇到了和android:supportsRtl相关的问题,但本质不局限于这个属性。执行Gradle任务:app:processDebugManifest时一切正常,但执行:app:processDebugUnitTestManifest时触发Manifest合并失败:
Manifest merger failed : Attribute application@supportsRtl value=(false) from [:app] AndroidManifest.xml:64:9-36 is also present at [com.whatever:library:0.5.0] AndroidManifest.xml:7:18-44 value=(true). Suggestion: add 'tools:replace="android:supportsRtl"' to <application> element at tempFile2ProcessTestManifest107.xml:17:5-19:19 to override.
最让我困惑的是,这个错误只在处理单元测试Manifest时出现。我尝试添加app/src/test/AndroidManifest.xml并写入要求的tools:replace配置,确实能修复错误,但又会弹出新的警告:
application@android:supportsRtl was tagged at AndroidManifest.xml:4 to replace other declarations but no other declaration present
现在只能在错误和警告之间二选一,虽然警告影响更小,但我希望能彻底消除这类提示。
[编辑] 这个问题之前被关闭过,参考问题里提到的“解决方案”我已经试过了,但完全没解决我的问题。
内容的提问来源于stack exchange,提问作者Michael Piefel
相关产品推荐
相关产品推荐

