Ошибка слияния манифеста: Атрибут application @ appComponentFactory ... Android Studio 3.2 - PullRequest
0 голосов
/ 11 января 2019

Я следую этому уроку: https://www.youtube.com/watch?v=xtElLuzjA0U

Я использую Android Studio 3.2.1 - Всякий раз, когда я реализую "реализацию" me.zhanghai.android.materialprogressbar: library: 1.6.1 '", я получаю эту ошибку:

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
 is also present at [androidx.core:core:1.0.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
 Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> 
element at AndroidManifest.xml:5:5-22:19 to override.

Когда я впервые сделал этот урок, все скомпилировалось, и я смог получить индикатор выполнения, но когда я попытался отладить и собрать, он завис. Теперь, во второй раз, реализация зависимости дает мне ту же ошибку.

PS - он у меня установлен на 4.4 - текущий андроид

Я посмотрел на "https://developer.android.com/topic/libraries/support-library/packages", и когда я пересекаю ссылку, мне кажется, что я уже включаю 28.0.0 - я не уверен, что делать дальше.

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:design:28.0.0'

testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

/*third party  library*/
implementation 'me.zhanghai.android.materialprogressbar:library:1.6.1'

}

Какая поддержка нужна? Я пытался реализовать инструменты: заменить ... Но это просто дает мне массу ошибок.

Ответы [ 3 ]

0 голосов
/ 12 января 2019

Эти две строки автоматически разрешили мои конфликты зависимостей

Добавить android.useAndroidX=true android.enableJetifier=true в вашем приложении gradle.properties файл.

0 голосов
/ 02 июля 2019

вам нужно использовать либо AndroidX, либо старые библиотеки поддержки Android. Вот почему вы столкнулись с этой проблемой.

1. Существующий проект: Вам нужно перейти на AndroidX.
Перед миграцией сделайте резервную копию вашего проекта.
шагов, чтобы следовать -
Android Studio => Refactor Menu => Migrate to AndroidX...
Будет выполнен анализ и откроется окно рефрактора внизу. Принять изменения, которые необходимо сделать.

2.Новый проект: Поместите эти флаги в свой gradle.properties.
android.enableJetifier=true android.useAndroidX=true

0 голосов
/ 11 января 2019

Это потому, что в вашем проекте разные версии одной и той же библиотеки - androidx и pre-androidx. В панели инструментов студии Android перейдите по ссылке: Refactor-> Migrate to androidX... -> Migrate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...