我一直在爲自己的應用程序開發自動化測試,但是,我們已經達到了必須在應用程序環境之外更改選項的點。爲此,我們決定使用最新的UIAutomator v2。通過這樣做,我們可以在我們的應用程序和UI Automator中使用espresso測試來進行系統彈出窗口或更改同一測試中的設置。 現在的問題是,我們必須維護min SDK 16用於合同目的。這使得無法使用UIAutomator v2。 編譯器本身提出瞭解決方案:動態更改SDK構建選項
Suggestion: use tools:overrideLibrary="android.support.test.uiautomator.v18" to force usage
我的gradle當前的gradle相關配置:
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
// default apk name (to be overriden)
project.archivesBaseName = "AwessomeApp";
android.enforceUniquePackageName=false
defaultConfig {
String charPrefix = "AWS"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode appVersion.getCode()
versionName appVersion.getName()
applicationId "pt.company.awesome"
testApplicationId "pt.company.test"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
但是,它不工作,可能是因爲我們有minSdk利用gradle這個根項目設置。如果我將項目版本升級到18,它完美無瑕。在這一點上,我不知道如何解決這個問題。是否有可能做類似設置不同的minSdk por測試或味道?
可能的重複[爲testAndroid設置不同的minSdkVersion比主應用程序](http://stackoverflow.com/questions/30585289/set-different-minsdkversion-for-testandroid-than-for-main-app) – blahdiblah