【问题标题】:Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 25 declared in library [Wear App sub-manifest]清单合并失败:uses-sdk:minSdkVersion 16 不能小于库中声明的版本 25 [Wear App 子清单]
【发布时间】:2017-03-08 22:56:59
【问题描述】:

我正在尝试将可穿戴模块添加到我现有的 android(最小 sdk 版本 16)应用程序中。 如果我运行应用程序(发布模式),我会收到此错误:

错误:任务 ':app:processReleaseManifest' 执行失败。 清单合并失败:uses-sdk:minSdkVersion 16 不能更小 比库中声明的版本 25 [Wear App 子清单] c:\workspaces\sampleapp\android\app\build\generated\manifests\microapk\release\AndroidManifest.xml 建议:使用 tools:overrideLibrary="" 强制使用

我不想增加 minSdkVersion。 那么如何在不更改应用的 minSdkVersion 的情况下解决问题?

这是我的 gradle 文件:

手机应用

apply plugin: 'com.android.application'

android {
    signingConfigs {
        config {
            [...]
        }
    }

    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    repositories {
        jcenter()
        maven {
            url "https://maven.java.net/content/groups/public/"
        }
    }
    defaultConfig {
        applicationId "com.sample.app"
        minSdkVersion 16
        targetSdkVersion 25
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support:design:25.2.0'
    [...]

    compile 'com.google.android.gms:play-services-wearable:10.2.0'
    wearApp project(':sample-wear')
}

apply plugin: 'com.google.gms.google-services'

可穿戴应用

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    signingConfigs {
        config {
            [...]
        }
    }

    defaultConfig {
        applicationId "com.sample.app"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        signingConfig signingConfigs.config
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.google.android.support:wearable:2.0.0'
    compile 'com.google.android.gms:play-services-wearable:10.2.0'
    provided 'com.google.android.wearable:wearable:2.0.0'
}

注意:该错误仅发生在 Gradle 2.3.0 中。 Gradle 2.2.3 按预期工作...

code.google.com 上的类似问题:https://code.google.com/p/android/issues/detail?id=232834

【问题讨论】:

  • 应用Suggestion: use tools:overrideLibrary="" to force usage的建议怎么样?

标签: android android-gradle-plugin wear-os


【解决方案1】:

在您的 gradle 文件中,只需将 minSdkVersion 更新为 23

android {
compileSdkVersion 30
defaultConfig {
    applicationId "com.oaics.customer"
    minSdkVersion 23
    targetSdkVersion 30
    versionCode 1
    versionName "1.0"
}

【讨论】:

    【解决方案2】:

    如果是 Ionic 项目

    preference name="android-minSdkVersion" value="19"
    

    在 Config.xml(项目目录)文件中将上述字段设置为所需的版本。

    【讨论】:

      【解决方案3】:

      这似乎是 Gradle 问题,因为您的“可穿戴”模块至少有 23 sdk,而不是 25。

      请检查该模块的AndroidManifest.xml,因为它可能包含带有“25”的uses-sdk:minSdkVersion

      如果没有值,你可以添加它覆盖Gradle配置值。

      希望它会有所帮助。

      【讨论】:

        【解决方案4】:

        我在使用平台 IONIC 和 CORDOVA 时遇到了同样的问题。我通过以下方式解决了这个问题:

        检查两个文件:

        [folder_your_app]\platforms\android\app\src\main\AndroidManifest.xml

        例如:

        \Users\[your_user]\.gradle\caches\transforms-1\files-1.1\tbxml-android.aar\f0d6a971caeb6d952bf6b9b62464f2ab\AndroidManifest.xml
        

        在第一个文件中检查以下行:

        uses-sdk android:minSdkVersion="16" android:targetSdkVersion="26"
        

        并与第二个文件的以下行进行比较:

        android:minSdkVersion="16"
        

        调整版本,尽情享受吧!

        【讨论】:

          【解决方案5】:

          我让它工作的唯一方法是:

          1. 卸载安卓平台:ionic cordova platform rm android
          2. 更新 Ionic 项目根目录下的 config.xml 文件:来自

            <preference name="android-minSdkVersion" value="16" />

            <preference name="android-minSdkVersion" value="19" />

          我假设对于 OP 的情况,该值应该是 25 而不是 19(在我的情况下,错误是 19)。

          1. 再次将android平台添加到项目中:ionic cordova platform add android

          然后准备并构建 - 不应再返回相同的错误。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-12-18
            • 2020-12-31
            • 1970-01-01
            • 1970-01-01
            • 2014-10-12
            • 1970-01-01
            • 1970-01-01
            • 2017-03-28
            相关资源
            最近更新 更多