Intereting Posts
Запрос на получение записей на основе Radius в SQLite? GetSupportLoaderManager () использует те же идентификаторы в разных фрагментах? Используя как setOnItemClickListener, так и setOnItemLongClickListener, оба прослушивателя одновременно запускаются или работают одинаково. Android. WebView и loadData AppWidgetHost не обновляет виджеты Android 3.0, предварительный просмотр виджета Могу ли я запускать мягкую клавиатуру Android для открытия через javascript (без телефонного разговора)? Добавление прокрутки в tabhost в android Android: перекрытие двух видов (намеренно!) Ошибка получения родительского элемента для элемента: ресурс не найден, который соответствует указанному имени @ style / Theme.Holo Вызов диалогового окна Android, не затухающий фон Android: проблема с приемлемыми типами файлов через bluetooth Android с maven? Apk unknown Запуск активности из сервиса после нажатия кнопки HOME без задержки 5 секунд Может ли CMU Sphinx быть установленным для распознавания ~ 200 слов

Поддержка Android Repo 46.0.0 с Android Studio 2.3

Я обновил сегодня мой репозиторий поддержки до 46.0.0, когда появилось уведомление Android Studio.

Ниже приведена ошибка:

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

Не удалось слияние манифеста: атрибут meta-data#android.support.VERSION@value value = (25.3.0) из [com.android.support:support-v13:25.3.0] AndroidManifest.xml: 27: 9-31 также Присутствует в [com.android.support:preference-v7:26.0.0-alpha1] AndroidManifest.xml: 24: 9-38 value = (26.0.0-alpha1). Предложение: добавьте «tools: replace =» android: значение «» в элемент AndroidManifest.xml: 25: 5-27: 34 для переопределения.

Я обновил все свои зависимости, чтобы использовать Revision 26.0.0 Alpha 1 от 25.3.0, но оказалось, что мне нужно поднять compileSdk с 25 на 26. Вы не можете этого сделать, если у вас есть AS 2.3, вам нужно получить Нестабильная альфа / бета-версия от канарейки.

Эта ссылка показывает изменения: https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-alpha1

Что касается перехода на новый Android-O, это ссылка: https://developer.android.com/preview/migration.html

Кажется, что использование стабильной версии AS не будет работать с новым репозиторием.

Как я могу вернуться к версии репозитория Android Studio версии 45 вместо новых 46?

** Обновление: объединенный манифест показывает, что один из сгенерированных манифеста библиотеки содержит

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

Но поскольку это сгенерированное редактирование файлов бесполезно, вот почему я теперь придерживаюсь rev 45 до тех пор, пока новый AS не будет в стабильной сборке

Solutions Collecting From Web of "Поддержка Android Repo 46.0.0 с Android Studio 2.3"

В чем проблема

Некоторые библиотеки зависят от версии «X» или «Новее» от библиотек поддержки Android, поэтому разрешение зависимостей Gradle захватывает все, что доступно новейшим, игнорируя, что на самом деле у вас есть точная версия, указанная в блоке dependencies .

Это не то, что вы хотите. Вы хотите, чтобы все библиотеки поддержки с одинаковой версией и основной версией соответствовали компиляции 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' } } } } 

Конечно, замените версию тем, что вы используете.

Значения версий для библиотек поддержки в блоке dependecies теперь не имеют значения.

Если у вас есть сомнения

Это хорошо документированный метод, и он работает.

Что вы можете сделать, чтобы помочь

Найдите библиотеки, зависящие от ряда версий библиотеки поддержки

 gradlew dependencies --configuration compile -p <module name> | grep , 

И пусть авторы указанных библиотек знают, что они должны транзитивно зависеть от самых старых библиотек поддержки, с которыми может работать их библиотека .

Это направлено на то, чтобы полностью избежать проблемы.

Их решение – решить проблему:

  1. Перейти к представлению проводника проекта
  2. Дойти до них – это внешние библиотеки
  3. Посмотрите, какая библиотека использует 26.0.0-alpha6
  4. Теперь напишите это в app.gradle на основе библиотеки на шаге 3

Ex. в моем случае:

 configurations.all { resolutionStrategy.force 'com.android.support:appcompat-v7:25.3.0' resolutionStrategy.force 'com.android.support:support-v13:25.3.0' } 

Это заставит проект использовать указанную библиотеку.

Я считаю, что лучшим решением является просто вернуть библиотеку поддержки Android до версии 45.

Для этого откройте эту ссылку (измените версию на то, что вам подходит)

https://dl-ssl.google.com/android/repository/android_m2repository_r45.zip

При загрузке разархивируйте и скопируйте m2repository в android-sdk-root-folder \ extras \ android. Обязательно удалите существующий файл m2 перед распаковкой, чтобы избежать проблем.

Шаг 1

Чтобы избежать проверки Gradle на несовместимые версии com.android.support быстрое исправление заключается в добавлении следующего кода в модуль приложения build.gradle .

 dependencies { //noinspection GradleCompatible } 

Это временное решение, которое не решает основные проблемы! Это помогло продолжить разработку вашего приложения с минимальными изменениями.

Шаг 2

Добавьте это в основной файл манифеста AndroidManifest.xml .

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

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

Шаг 3

Добавьте следующий код в конец файла build.gradle модуля build.gradle :

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

NB : Рекомендуется, чтобы ваши библиотеки Gradle были обновлены и совместимы, чтобы избежать ошибок времени выполнения.

Это временное решение, которое не решает основные проблемы! Это помогло мне продолжить разработку программного обеспечения с минимальными изменениями. Просто добавьте это в основной манифест:

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

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

Решение. Помеченное решение работало для меня, добавив следующие 4 из моих 10 файлов build.gradle:

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

Просто сделайте это, вот и все: –

Compile 'com.android.support:appcompat-v7:25.3.1'

Здесь v7: 25.3.1 – это моя текущая версия, которую вы только что положили.

В файле приложения gradle