gpt4 book ai didi

android - 是否可以使用 Gradle(不是产品风格)将 AndroidManifest 添加到特定的 buildType?

转载 作者:太空狗 更新时间:2023-10-29 16:37:16 25 4
gpt4 key购买 nike

我们正在努力设置一些 Activity 检测测试以在构建服务器上运行。由于这需要设备处于唤醒状态,因此我发现的选项似乎是:

  1. 将设备设置为“保持清醒”并禁用屏幕锁定

  2. 在测试用例中以编程方式禁用 Keyguard(如 here 所述)

选项 1 似乎不太好,因为它会浪费电池并最终导致设备显示屏老化。选项 2 似乎更可取,但我宁愿严格保留 DISABLE_KEYGUARD 权限以调试构建(而不是发布),以便所有产品风格都是可测试的,但从不为发布构建请求权限。

我知道我们可以使用 sourceSets 添加要合并的 list :

android.sourceSets.development {
manifest.srcFile 'development/AndroidManifest.xml'
}

但我还没有找到仅针对特定构建类型的等效方法——像这样(无效):

buildTypes {
debug {
manifest.srcFile 'debug/AndroidManifest.xml'
}
}

有官方的方法吗?还有其他建议吗?谢谢!

最佳答案

您可以使用与风格相同的方式为构建类型设置 sourceSet。这应该有效:

android.sourceSets.debug {
manifest.srcFile 'debug/AndroidManifest.xml'
}

话虽如此,目录结构意味着您不需要手动配置 sourceSet,除非您使用的是非默认布局。在标准结构中,您可以执行此操作而根本不在构建文件中配置 sourceSets:

module_directory
+--src
+--main
+--AndroidManifest.xml
+--java
+--res
+--flavor1
+--AndroidManifest.xml
+--java
+--res
+--debug
+--AndroidManifest.xml
+--java
+--res
+--release
+--AndroidManifest.xml
+--java
+--res

等等

关于android - 是否可以使用 Gradle(不是产品风格)将 AndroidManifest 添加到特定的 buildType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25496597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com