我们正在设置一些Activity工具测试以在构建服务器上运行。由于这需要设备唤醒,我发现的选项似乎是:
将设备设置为“保持清醒”并禁用屏幕锁定
在测试用例中以编程方式禁用键盘锁(如所述here)
选项1看起来不太好,因为它会浪费电池并最终导致设备显示屏上的老化。选项2似乎更可取,但我宁愿严格保留DISABLE_KEYGUARD权限来调试构建(不是发布),以便所有产品风格都是可测试的,但永远不会要求发布版本的权限。
我知道我们可以使用sourceSets
添加清单进行合并:
android.sourceSets.development {
manifest.srcFile 'development/AndroidManifest.xml'
}
但是我还没有找到一种等效的方法只针对特定的构建类型 - 类似这样(这是无效的):
buildTypes {
debug {
manifest.srcFile 'debug/AndroidManifest.xml'
}
}
有正式方法吗?还有其他建议吗?谢谢!
答案 0 :(得分:5)
您可以使用与flavor相同的方式构建类型的sourceSets。这应该有效:
android.sourceSets.debug {
manifest.srcFile 'debug/AndroidManifest.xml'
}
话虽如此,目录结构意味着您不需要手动配置sourceSets,除非您使用的是非默认布局。在标准结构中,您可以执行此操作,而不是在构建文件中配置sourceSets:
module_directory
+--src
+--main
+--AndroidManifest.xml
+--java
+--res
+--flavor1
+--AndroidManifest.xml
+--java
+--res
+--debug
+--AndroidManifest.xml
+--java
+--res
+--release
+--AndroidManifest.xml
+--java
+--res
等