我有一个UIAutomator测试,它与操作系统交互,以自动完成我无法从ADB或其他应用程序执行的某些任务。有时我发布新版本的测试。我计划使用adb shell dumpsys package my.package.test | grep versionName
来解析测试应用中的版本,并在必要时进行更新。
但是,dumpsys package
似乎为我的UIAutomator测试返回versionName=null
(使用与sample几乎相同的gradle脚本构建)。
现在我每次需要时都会覆盖测试。有没有办法在UIAutomator测试APK中嵌入版本信息?
答案 0 :(得分:1)
在为测试APK生成的默认清单中没有版本信息,那么你必须介绍它。
将此添加到您的build.gradle
:
defaultConfig {
manifestPlaceholders = [ versionName:versionName, versionCode:versionCode]
}
将您的主AndroidManifest.xml
复制到src/androidTest
编辑测试清单
<!--suppress AndroidDomInspection -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your.package.name"
android:versionCode="${versionCode}"
android:versionName="${versionName}"
>
<application
tools:node="remove"
... >
</application>
</manifest>
重建后,您的测试APK将包含版本信息。