【问题标题】:Android Studio gradle manifest merging failedAndroid Studio gradle 清单合并失败
【发布时间】:2013-12-22 17:21:26
【问题描述】:

尝试运行项目后,出现错误:

Gradle: [AndroidManifest.xml:6, AndroidManifest.xml:3] Main manifest has <uses-sdk android:minSdkVersion='14'> but library uses minSdkVersion='19'
Gradle: Execution failed for task ':myApp:processDebugManifest'.
> Manifest merging failed. See console for more info.

build.gradle:

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6+'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile files('libs/google-play-services.jar')
    compile files('libs/systembartint.jar')
    compile project(':GooglePlayServices')
}

android {
    compileSdkVersion 17
    buildToolsVersion '17.0.0'

    defaultConfig {
       minSdkVersion 14
       targetSdkVersion 19
    }
}

清单:

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="19" />

使用的库:Google Maps、Android Support v4、SystemBarTint。

看起来图书馆清单中有一个minSdkVersion=19。但是那个图书馆的名字是什么?谷歌地图是一个带有minSdk 14 和目标19 的模块。我认为SystemBarTintminSdk 10。如果我必须更改库的清单,我该如何在 jar 文件中进行呢?

【问题讨论】:

  • 你有一个叫 library 的模块吗?
  • 请为您的应用发布完整的 build.gradle 文件。
  • 发布了完整的 build.gradle。没有称为库的模块。

标签: java android gradle android-studio android-4.4-kitkat


【解决方案1】:

库 JAR 文件不会导致此问题,因为它们没有合并的清单文件。问题必须来自您的依赖项中的 GooglePlayServices 项目。目前尚不清楚那是什么。如果这不是您的东西,而您只是想使用 Google Play 服务库,那么还有一种更简单的方法。更简单的方法还取代了您包含 V4 支持库的方法。

在您的 SDK 管理器中,确保您的 Android Support RepositoryGoogle Repository 已安装。

用这个替换你的依赖块:

dependencies {
    compile 'com.android.support:support-v4:19.0.+'
    compile 'com.google.android.gms:play-services:4.0.+'
    compile files('libs/systembartint.jar')
}

并从您的 libs 目录中删除 android-support-v4.jargoogle-play-services.jar 文件。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 2015-01-27
  • 2020-01-01
  • 1970-01-01
相关资源
最近更新 更多