Android Gradle 清单合并失败
Android Gradle Manifest merger failed
我使用 leanback 库为 Android 电视开发。我的应用程序将最小 API 声明为 16,但 leanback 的最小值 API 为 16。
因此,正如文档所说,我在我的清单中声明了这一点:
<?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="com.mypackage.package">
<uses-sdk tools:overrideLibrary="android.support.v17.leanback" />
但是我仍然有错误:
错误:(6, 5) 任务“:app:processAdhocProdManifest”执行失败。
Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /thepathtotheapp/build/intermediates/exploded-aar/com.android.support/leanback-v17/22.2.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
在清单合并报告中我可以看到:
MERGED from io.fabric.sdk.android:fabric:1.0.2:7:5
android:targetSdkVersion
INJECTED from AndroidManifest.xml:0:0
INJECTED from AndroidManifest.xml:0:0
android:minSdkVersion
INJECTED from AndroidManifest.xml:0:0
INJECTED from AndroidManifest.xml:0:0
tools:overrideLibrary
ADDED from AndroidManifest.xml:21:15
tools:ignore
ADDED from com.mixpanel.android:mixpanel-android:4.5.4-RC1:14:9
application
ADDED from AndroidManifest.xml:23:5
所以看起来它正在添加 tools:overrideLibrary 但它仍然失败。
有人知道如何解决这个问题吗?
问题来自 Mixpanel 库,Mixpanel 使用此标签定义其 AndroidManifest :
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21"
tools:ignore="GradleOverrides" />
所以我最终放弃了 Mixpanel,比起我们 10% 的用户我更愿意放弃他们。
我使用 leanback 库为 Android 电视开发。我的应用程序将最小 API 声明为 16,但 leanback 的最小值 API 为 16。 因此,正如文档所说,我在我的清单中声明了这一点:
<?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="com.mypackage.package">
<uses-sdk tools:overrideLibrary="android.support.v17.leanback" />
但是我仍然有错误:
错误:(6, 5) 任务“:app:processAdhocProdManifest”执行失败。
Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /thepathtotheapp/build/intermediates/exploded-aar/com.android.support/leanback-v17/22.2.0/AndroidManifest.xml Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
在清单合并报告中我可以看到:
MERGED from io.fabric.sdk.android:fabric:1.0.2:7:5
android:targetSdkVersion
INJECTED from AndroidManifest.xml:0:0
INJECTED from AndroidManifest.xml:0:0
android:minSdkVersion
INJECTED from AndroidManifest.xml:0:0
INJECTED from AndroidManifest.xml:0:0
tools:overrideLibrary
ADDED from AndroidManifest.xml:21:15
tools:ignore
ADDED from com.mixpanel.android:mixpanel-android:4.5.4-RC1:14:9
application
ADDED from AndroidManifest.xml:23:5
所以看起来它正在添加 tools:overrideLibrary 但它仍然失败。
有人知道如何解决这个问题吗?
问题来自 Mixpanel 库,Mixpanel 使用此标签定义其 AndroidManifest :
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21"
tools:ignore="GradleOverrides" />
所以我最终放弃了 Mixpanel,比起我们 10% 的用户我更愿意放弃他们。