【问题标题】:Android Manifest merger failed after adding module dependency 'com.google.android.gms:play-services-location:16.0.0'"添加模块依赖 'com.google.android.gms:play-services-location:16.0.0' 后 Android Manifest 合并失败"
【发布时间】:2018-12-04 20:35:42
【问题描述】:

我想将com.google.android.gms:play-services-location:16.0.0 添加到我的 android wear 应用中以检测手表的位置。

但我收到以下错误:

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.2) from [com.android.support:percent:26.0.2] AndroidManifest.xml:25:13-35
    is also present at [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 value=(26.1.0).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.

我的wear.gradle 文件:

apply plugin: 'com.android.application'


android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"
    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "de.siyaryikmis.jiyan"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:wear:28.0.0'
    implementation 'com.google.android.support:wearable:2.4.0'
    compileOnly 'com.google.android.wearable:wearable:2.4.0'
    implementation 'com.squareup.okhttp3:okhttp:3.12.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
}

我的wear.AndroidManifest.xml:

<?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="de.siyaryikmis.jiyan">

    <uses-feature android:name="android.hardware.type.watch" />
    <uses-feature
        android:name="android.hardware.sensor.accelerometer"
        android:required="false" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


    <application
        android:allowBackup="true"
        android:icon="@mipmap/tree_of_life"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true"
        tools:ignore="GoogleAppIndexingWarning">
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="com.google.android.wearable.standalone"
            android:value="true" />

        <uses-library
            android:name="com.google.android.wearable"
            android:required="true" />

        <activity
            android:name=".activities.MainActivity"
            android:label="@string/app_name" />

        <activity
            android:name=".activities.LoginActivity"
            android:label="@string/title_activity_login">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activities.Login2Activity"
            android:label="@string/title_activity_login2"
            android:theme="@android:style/Theme.DeviceDefault.Light" />
        <activity
            android:name=".activities.NeedIsSentActivity"
            android:label="@string/title_activity_need_is_sent"
            android:theme="@android:style/Theme.DeviceDefault.Light" />
        <activity
            android:name=".activities.FailedActivity"
            android:label="@string/title_activity_failed"
            android:theme="@android:style/Theme.DeviceDefault.Light" />
    </application>

</manifest>

感谢您的所有建议和帮助:)

【问题讨论】:

    标签: android android-gradle-plugin google-play-services wear-os


    【解决方案1】:

    首先添加工具命名空间:

    < manifest xmlns: android = "http://schemas.android.com/apk/res/android"
        ...
        xmlns: tools = "http://schemas.android.com/tools" >
    

    然后添加元标记:

    <application>
       ...
       ..
        <meta-data
            tools:replace="android:value"
            android:name="android.support.VERSION"
            android:value="28.0.0" />
    </application>
    

    不要忘记在模块 build.gradle 文件中添加这一行:

    implementation 'com.android.support:appcompat-v7:28.0.0'
    

    【讨论】:

    • 非常感谢 :) 添加 标签解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 2019-01-15
    • 2019-03-05
    • 1970-01-01
    • 2015-09-12
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多