web-dev-qa-db-ja.com

マニフェストのマージに失敗しました:uses-sdk:minSdkVersion 16は、ライブラリで宣言されているバージョン25より小さくすることはできません[Wear App sub-manifest]

既存のAndroid(min sdk version 16)アプリにウェアラブルモジュールを追加しようとしています。アプリ(リリースモード)を実行すると、次のエラーが発生します。

エラー:タスク ':app:processReleaseManifest'の実行に失敗しました。マニフェストのマージに失敗しました:uses-sdk:minSdkVersion 16は、ライブラリで宣言されているバージョン25より小さくすることはできません[Wear App sub-manifest] c:\ works\sampleapp\Android\app\build\generate\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'

waerable app

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'
}

注:エラーはGradle2.3.0でのみ発生します。 Gradle 2.2.3は期待どおりに機能します...

Code.google.comの同様の問題: https://code.google.com/p/Android/issues/detail?id=232834

5
dieter

Ionicプロジェクトの場合

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

Config.xml(プロジェクトディレクトリ)ファイルで、上記のフィールドを必要なバージョンに設定します。

2
Keerthesh

私がそれを機能させる唯一の方法は:

  1. Androidプラットフォーム:ionic cordova platform rm Android
  2. Ionicプロジェクトのルートにあるconfig.xmlファイルを更新します:from

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

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

OPの状況では、値は19ではなく25であると想定しています(私の場合、エラーでは19でした)。

  1. Androidプラットフォームをプロジェクトに再度追加します:ionic cordova platform add Android

次に、準備してビルドします。同じエラーが返されることはもうありません。

0
BoDeX

プラットフォーム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"

2番目のファイルの次の行と比較します。

Android:minSdkVersion="16"

バージョンを調整してお楽しみください!

0
Ita

'ウェアラブル'モジュールには最小23 sdkがあり、25ではないため、Gradleの問題のようです。

モジュールには「25」のAndroidManifest.xmlが含まれている可能性があるため、そのモジュールのuses-sdk:minSdkVersionも確認してください。

値がない場合は、Gradle構成値をオーバーライドして値を追加できます。

それが役立つことを願っています。

0
piotrek1543