私は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
を使用する方法を教えてください。
Android Studioを開く - >マニフェストファイルを開く
<uses-sdk tools:overrideLibrary="Android.support.v17.leanback"/>
を追加するxmlns:tools="http://schemas.Android.com/tools"
タグの前に、<application>
も含めることを忘れないでください
minSdkをbuild.gradleで宣言しても構いません。 ここ に書かれているように、あなたはあなたのAndroidManifest.xml
にoverrideLibrary
をコピーしなければなりません。
<manifest
... >
<uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
...
</manifest>
システムは、AndroidManifest.xmlで宣言されているsdkVersionを自動的に無視します。
これであなたの問題が解決すると思います。
<manifest xmlns:tools="http://schemas.Android.com/tools" ... >
<uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />
私は、さまざまなバージョンのmin sdk間の競合の問題に直面していました。だからこの解決策は私のために働いた。
minSdkVersion="7"
をC:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml
に変更しただけでうまくいきました。
ステップ:
C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml
<uses-sdk Android:minSdkVersion="7"/>
新しい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
}
それ以降は、プロジェクトはビルドエラーをスローしません。
androidだけを変更しました:minSdkVersion = "16"そして完璧に動作しますC:\ MyApp\platform\Android\CordovaLib\AndroidManifest.xml
manifest.xmlでこのコードを使う
<uses-sdk
Android:minSdkVersion="16"
Android:maxSdkVersion="17"
tools:overrideLibrary="x"/>