Как использовать инструменты: overrideLibrary в сборке.файл gradle?


Я использую библиотеки leanback, которые требуют Android 17 или более поздней версии. Однако мое приложение поддерживает основным направлением развития операционной системы 16, так я получаю ошибку построения из Gradle в слова

Error:Execution failed for task ':Tasks:processPhoneDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /Users/mike/Projects/android-for-dummies-v3/Tasks/build/intermediates/exploded-aar/com.android.support/leanback-v17/21.0.2/AndroidManifest.xml
    Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage

когда я смотрю на build tools documentation, Я вижу, как добавить overrideLibrary маркер для моего манифеста, но проблема в том, что я объявляю свой minSdk в моем файле gradle вместо моего манифеста.

как использовать overrideLibrary когда основным направлением развития операционной системы объявлена в строй.gradle вместо in AndroidManifest.xml?

6 238

6 ответов:

Открыть Android Studio -> Открыть Файл Манифеста

добавить <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/> не забудьте включить xmlns:tools="http://schemas.android.com/tools" до <application> tag

enter image description here

неважно, что вы заявляете о своем основным направлением развития операционной системы в строй.градля. Вы должны скопировать overrideLibrary в своем AndroidManifest.xml, так как документально здесь.

<manifest 
    ... >
<uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
    ...
</manifest>

система автоматически игнорирует sdkVersion, объявленный в AndroidManifest.XML.

Я надеюсь, что это решит вашу проблему.

<manifest xmlns:tools="http://schemas.android.com/tools" ... >
  <uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />

я столкнулся с проблемой конфликта между различными версиями min sdk. Так что это решение сработало для меня.

как библиотеки требует minSdkVersion 17 тогда вы можете изменить то же самое в build.gradle(модуль:приложение) файл:

defaultConfig {
        minSdkVersion 17 
        targetSdkVersion 25
}

и после этого построение проекта не должно вызывать никаких ошибок сборки.

Я только что переоделся minSdkVersion="7" на C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml и это сработало.

действия:

  1. путь: C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
  2. значение: <uses-sdk android:minSdkVersion="7"/>
  3. команда Ran в новой командной строке cmd:

    C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'

используйте этот код в манифесте.xml

<uses-sdk
android:minSdkVersion="16"
android:maxSdkVersion="17"
tools:overrideLibrary="x"/>