Tools: overrideLibrary not working

I want to use the library android.support.test.uiautomator.v18in support that supports Android, up to level 11. My manifest starts:

<?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" />

and in build.gradle I have

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'
        }
    }
}

Running. / Gradlew connectedCheck gives:

* 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
+4
source share
3 answers

You get

java.lang.RuntimeException: manifest manifest failed: uses-sdk: minSdkVersion 11 cannot be less than declared version 18 in the library

Set minSdkVersion as 18 instead 11

Finally

 defaultConfig {
    minSdkVersion 18
    targetSdkVersion //

}
0
source
0

There is probably a difference between the packages mentioned in your build.gradle and your AndroidManifest.

AndroidManifest must contain at least

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

and your build.gradle should contain

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

I recently had a similar problem when I forgot to put "com." in my AndroidManifest

0
source

Source: https://habr.com/ru/post/1628826/


All Articles