2016-02-15 65 views
4

我想使用圖書館android.support.test.uiautomator.v18在構建支持Android的回級11.我的清單開始:工具:overrideLibrary不工作

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    package="xxxdeletedxxx" 
    android:versionCode="1" 
    android:versionName="1.0"> 

    <uses-sdk 
     android:targetSdkVersion="23" 
     android:minSdkVersion="11" 
     tools:overrideLibrary="com.android.support.test.uiautomator:uiautomator-v18" /> 

和的build.gradle我有

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.2' 

    defaultConfig { 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

運行./gradlew connectedCheck給出:

* What went wrong: 
Execution failed for task ':app:processDebugAndroidTestManifest'. 
> java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 11 cannot be smaller than version 18 declared in library [com.android.support.test.uiautomator:uiautomator-v18:2.1.1] /Users/ewanbenfield/AndroidStudioProjects/TM/app/build/intermediates/exploded-aar/com.android.support.test.uiautomator/uiautomator-v18/2.1.1/AndroidManifest.xml 
    Suggestion: use tools:overrideLibrary="android.support.test.uiautomator.v18" to force usage 

回答

0

你得到

了java.lang.RuntimeException:清單合併失敗: 使用-SDK:11的minSdkVersion不能比庫

宣佈 版18集的minSdkVersion as 18代替11

小最後

defaultConfig { 
    minSdkVersion 18 
    targetSdkVersion // 

} 
0

您的build.gradle和您的AndroidManifest中提到的軟件包之間可能存在差異。

AndroidManifest應至少包含

<uses-sdk 
    tools:overrideLibrary="com.android.support.test.uiautomator.v18"/> 

和你的build.gradle應該包含

androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' 

我最近有一個類似的問題,我忘了 'COM'。在我的AndroidManifest中