web-dev-qa-db-ja.com

Build.gradleファイルでtools:overrideLibraryを使用する方法を教えてください。

私はAndroid 17以降が必要なリーンバックライブラリを使用しています。しかし私のアプリは16のminSDKをサポートしているので、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のドキュメント を見ると、私のマニフェストにoverrideLibraryマーカーを追加する方法がわかりますが、問題は、私のマニフェストではなく自分のminSdkを自分のグラドルファイルで宣言することです。

AndroidManifest.xmlではなくbuild.gradleでminSdkが宣言されているときにoverrideLibraryを使用する方法を教えてください。

264
emmby

Android Studioを開く - >マニフェストファイルを開く

<uses-sdk tools:overrideLibrary="Android.support.v17.leanback"/>を追加するxmlns:tools="http://schemas.Android.com/tools"タグの前に、<application>も含めることを忘れないでください

enter image description here

503
xDragonZ

minSdkをbuild.gradleで宣言しても構いません。 ここ に書かれているように、あなたはあなたのAndroidManifest.xmloverrideLibraryをコピーしなければなりません。

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

システムは、AndroidManifest.xmlで宣言されているsdkVersionを自動的に無視します。

これであなたの問題が解決すると思います。

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

私は、さまざまなバージョンのmin sdk間の競合の問題に直面していました。だからこの解決策は私のために働いた。

4
Kuldeep Saxena

minSdkVersion="7"C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xmlに変更しただけでうまくいきました。

ステップ:

  1. パス:C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml
  2. 値:<uses-sdk Android:minSdkVersion="7"/>
  3. 新しいcmdでRanコマンドを実行します。プロンプト:

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

ライブラリにはminSdkVersion 17が必要なので、build.gradle(Module:Application)ファイルで同じことを変更できます。

defaultConfig {
        minSdkVersion 17 
        targetSdkVersion 25
}

それ以降は、プロジェクトはビルドエラーをスローしません。

1
Arpit Namdev

androidだけを変更しました:minSdkVersion = "16"そして完璧に動作しますC:\ MyApp\platform\Android\CordovaLib\AndroidManifest.xml

0
BIRJA KUMAR

manifest.xmlでこのコードを使う

<uses-sdk
Android:minSdkVersion="16"
Android:maxSdkVersion="17"
tools:overrideLibrary="x"/>
0
ali bagheri