Android Gradle Manifest 合并失败 [英] Android Gradle Manifest merger failed

查看:39
本文介绍了Android Gradle Manifest 合并失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 Leanback 库为 Android TV 进行开发.我的应用程序将最小 API 声明为 16,但将 Leanback 声明为最小 API 为 16.因此,正如文档所说,我在清单中声明了这一点:

I use the leanback library to develop for Android TV. My app declare the min API to 16 however the leanback as a minimum API of 16. So as the documentation says I declared this in my manifest :

<?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"执行失败.

Error:(6, 5) Execution failed for task ':app:processAdhocProdManifest'.

清单合并失败:uses-sdk:minSdkVersion 16 不能小于库/thepathtotheapp/build/intermediates/exploded-aar/com.android.support/leanback-v17/22.2.0/AndroidManifest.xml 中声明的版本 17建议:使用 tools:overrideLibrary="android.support.v17.leanback" 强制使用

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

在 Manifest 合并报告中,我可以看到:

in the Manifest merger report I can see :

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 但它仍然失败.

So it look like it's adding the tools:overrideLibrary but it still fail.

有人知道如何解决这个问题吗?

Anyone knows how to fix this ?

推荐答案

问题来自 Mixpanel 库,Mixpanel 使用此标签定义其 AndroidManifest :

The issue was coming from Mixpanel library, Mixpanel define its AndroidManifest with this tag :

<uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="21"
        tools:ignore="GradleOverrides" />

所以我最终放弃了 Mixpanel,我宁愿放弃他们而不是我们 10% 的用户.

So I end up giving up on Mixpanel, I prefer give up on them than 10% of our users.

这篇关于Android Gradle Manifest 合并失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆