Подтвердить что ты не робот

добавить 'tools: replace = "Android: value"' в элемент <meta-data> на AndroidManifest

Я слежу за учебным пособием в разработке HeadFirst Android и столкнулся с проблемами после добавления:   частный ActionBarDrawerToggle drawerToggle;

Элемент управления был устаревшим, поэтому я выполнил инструкции по Stack для решения этой проблемы, добавив com.android.support:appcompat-v7:26.0.0-alpha1 в модули приложения. Зависимости

Но теперь я получаю следующие ошибки сборки:

Ошибка: выполнение выполнено для задачи ': app: processDebugManifest'.

Не удалось выполнить манифест слияния: атрибут meta-data#[email protected] value = (25.3.1) из [com.android.support:recyclerview-v7:25.3.1] AndroidManifest.xml: 24: 9- 31     также присутствует в [com.android.support:appcompat-v7:26.0.0-alpha1] AndroidManifest.xml: 27: 9-38 value = (26.0.0-alpha1).     Предложение: добавьте "tools: replace =" android: значение "" на элемент в AndroidManifest.xml: 22: 5-24: 34 для переопределения.

Вот код:

4b9b3361

Ответ 1

Проблема в том, что все библиотеки поддержки с одинаковой версией и основной версией должны соответствовать компилируемой версии SDK.

Поэтому попробуйте принудительно установить определенную версию библиотеки поддержки. Поместите это в конец вашего модуля приложения в build.gradle.

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.3.0'
            }
        }
    }
}

Ответ 2

Сначала добавьте эту строку в ваш тег манифеста, если у вас еще нет:

xmlns:tools="http://schemas.android.com/tools"

Пример:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.winanainc"
    android:versionCode="3"
    android:versionName="1.2"
    xmlns:tools="http://schemas.android.com/tools">

Затем добавьте этот метатег в свое приложение, чтобы перезаписать версию инструментов сборки, в данном случае, например, я выбрал версию 25.3.1.

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

Ответ 3

Изменены все версии поддерживающих библиотек до 25.3.1 и работают как обаяние:

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

Вам также необходимо изменить следующие параметры на 25:

compileSdkVersion 25
targetSdkVersion 25

Ответ 4

 <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:largeHeap="true"
            android:supportsRtl="true"
            android:theme="@style/AppTheme"

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

Ответ 5

Откройте Android Studio → Открыть файл манифеста

Добавьте <uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>. Не забудьте также включить xmlns:tools="http://schemas.android.com/tools" перед тегом <application>

замещать

compile 'com.android.support:recyclerview-v7:+' 

от

compile 'com.android.support:recyclerview-v7:25.3.1'

и добавить

compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'

Ответ 6

        Add <meta-data> tag in manifest.xml file as below...


    <?xml version="1.0" encoding="utf-8"?>
    <manifest package="com.demo"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">

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

        <application
            android:name=".MyApplication"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity
                android:name=".MainActivity"
                android:theme="@style/AppTheme">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>

                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>

            **<meta-data
                tools:replace="android:value"
                android:name="android.support.VERSION"
                android:value="25.3.1" />//this 25.3.1 version should be same which we defined in the build.gradle file. i am using compileSdkVersion 25**

        </application>
 </manifest>

это будет работать @Ambilpura....

Ответ 7

  1. В Android Studio → Открыть файл манифеста
  2. Переключитесь на Merged Manifest и проверьте файл Other Manifest.

В моем случае я использую файлы поддержки 26.1.0, но обнаружил, что support-v13 - это 26.0.1 enter image description here

Поэтому я добавил в файл Gradle implementation 'com.android.support:support-v13:26.1.0' и проблема решена.

Ответ 8

ответ by @sagar giri - временная работа. что я сделал, чтобы решить это, объясняется в конце.

Если у вас установлена ​​последняя библиотека поддержки в последней студией Android, и если у вас есть старая версия библиотеки поддержки в модуле приложения gradle, то андроид-студия выходит из строя из-за несоответствия версии.

Итак, обновите версию своей поддерживающей библиотеки до последней версии и исправьте последние изменения в библиотеке поддержки, такие как переименование значка и т.д. и перестройте его.

надеюсь, что это поможет...

Ответ 9

Этот код решил мою проблему

"Проблема в том, что все библиотеки поддержки с одинаковой версией и основной версией должны соответствовать версии SDK компиляции.

Поэтому попробуйте принудительно установить конкретную версию библиотеки поддержки. Поместите это в конец вашего модуля приложения в build.gradle. "

Спасибо

Ответ 10

добавьте 'tools: replace = "android: value"' к элементу в AndroidManifest.xml: 22: 5-24: 34, чтобы переопределить. добавить в строку AndroidManifest.xml: 22