Ошибка библиотеки библиотеки материалов Google Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $Stub $Proxy
Всякий раз, когда я добавляю implemntation 'com.google.android.material:material:1.0.0-alpha1'
, когда я пытаюсь построить свой проект, Android Studio говорит:
Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $Stub $Proxy Сообщение {kind = ERROR, text = Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $Stub $Прокси, sources = [Неизвестный исходный файл], имя инструмента = Необязательный .of(D8)}
Это мой gradle script:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-P'
defaultConfig {
applicationId "it.smart.bab3"
minSdkVersion 21
targetSdkVersion 'p'
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.google.android.material:material:1.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.1.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'
implementation 'com.android.support:design:28.0.0-alpha1'
implementation 'com.android.support:support-v4:28.0.0-alpha1'
}
Я новичок в этом типе ошибок, и я не нашел ответа с этой ошибкой. Благодаря
Ответы
Ответ 1
Я тоже весь день борюсь с этой проблемой. Наконец, мне удалось успешно скомпилировать и запустить проект.
Прежде всего, избавитесь от этого:
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support:design:28.0.0-alpha1'
implementation 'com.android.support:support-v4:28.0.0-alpha1'
Добавьте в файл gradle.properties следующее:
android.useAndroidX = true
android.enableJetifier = false
И, наконец, синхронизировать проект и затем скомпилировать.
Если это не сработает, очистите проект и перестройте его.
PS: Я не могу заставить targetSdkVersion 'p' работать. Мой файл build.gradle выглядит следующим образом:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-P'
defaultConfig {
applicationId "com.github.alvarosct02.demo"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.google.android.material:material:1.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.1.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'
}
Надеюсь, что это сработает и для вас.
Ответ 2
Я потратил 2 дня на поиски решения. Любой, кто все еще ищет решение, может выполнить следующие шаги:
-
Обновите Android Studio до последней версии.
-
Обновите ваш compileSdkVersion и targetSdkVersion до 28.
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.your.appid"
minSdkVersion 19
targetSdkVersion 28
versionCode 50
versionName "1.50"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
setProperty("archivesBaseName", "your-app-$versionName")
resConfigs "en"
}
}
-
Перейдите к структуре вашего проекта и измените версию Gradle на 4.10.
-
Сначала добавьте эту зависимость:
implementation 'com.google.android.material:material:1.0.0'
-
Теперь удалите все зависимости библиотеки поддержки:
implementation "com.android.support:design:$SUPPORT_LIBRARY_VERSION"
implementation "com.android.support:support-v4:$SUPPORT_LIBRARY_VERSION"
implementation "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
implementation "com.android.support:recyclerview-v7:$SUPPORT_LIBRARY_VERSION"
implementation "com.android.support:cardview-v7:$SUPPORT_LIBRARY_VERSION"
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:multidex:1.0.3'
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
androidTestImplementation('com.android.support.test.espresso:espresso-
core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
exclude group: 'com.google.code.findbugs', module: 'jsr305'
})
-
Теперь вставьте следующее в ваш файл gradle.properties:
android.useAndroidX = true
android.enableJetifier = true
-
В файле build.gradle уровня вашего проекта:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'com.google.gms:google-services:4.1.0'
};
Для тех, кто использует Butterknife, добавьте следующие строки в файл build.gradle уровня проекта:
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
maven { url "https://dl.bintray.com/drummer-aidan/maven/" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
}
}
А в файле вашего модуля build.gradle добавьте ниже зависимости:
implementation "com.jakewharton:butterknife:9.0.0-SNAPSHOT"
annotationProcessor "com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT"
- Теперь перейдите в Build> Rebuild Project, тогда вы можете получить много ошибок.
- Теперь перейдите по этой ссылке.
Он содержит список всех старых (android.support) и новых (androidx. *) Зависимостей.
Замените все ваши старые импорта новыми
(Используйте функцию replaceAll в Android Studio [Ctrl + Shift + R], которая сэкономит вам время).
- Наконец, после рефакторинга всех старых библиотек с новыми:
Перестройте проект еще раз и, надеюсь, он должен работать.
Примечание: вы также можете использовать Refactor> Migrate to androidx в Android Studio, но у меня это не сработало.
Ответ 3
Я начал получать эту ошибку после обновления ButterKnife до версии 8.8.1.
Итак, я запускаю gradle -q dependencies
для генерации отчета о зависимости, после чего вы должны увидеть, откуда идет D8. В моем случае из библиотеки "ButterKnife":
+--- com.jakewharton:butterknife:8.8.1
| | \--- com.android.support:support-compat:d8
Также вы можете увидеть свои зависимости от Android, перейдя в режим Android Studio Gradle (в панели инструментов Android Studio перейдите к "View/Tool Windows/Gradle") и выберите целевые "androidDependencies" в разделе "My-Project-Name/Tasks/android "(Дважды щелкните, чтобы запустить или щелкните правой кнопкой мыши и запустите).
Чтобы решить эту проблему, я добавил этот фрагмент кода exclude module: 'support-compat'
к моему "app/build.gradle", как показано ниже:
implementation ('com.jakewharton:butterknife:8.8.1') {
exclude module: 'support-compat'
}
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
Надеюсь, это сработает для кого-то еще:] Приветствия!
Ответ 4
Android Studio v3. 2+ решает эту проблему. Он также добавляет элемент "Миграция в AndroidX" в меню "Рефакторинг". Не требуется обход или откат.
Обновите Android Studio с бета-канала, чтобы использовать 3. 2+ или подождите, пока не будет выпущена стабильная версия.
EDIT: Android Studio v3.2 теперь находится в стабильном канале. Важно, что вы больше не пользуетесь библиотеками поддержки и не переходите в библиотеки AndroidX, потому что поддержка старых библиотек поддержки завершена.
Ответ 5
Если вы включаете библиотеку, которая имеет транзитивную зависимость от библиотеки поддержки Android, вам также необходимо использовать функцию jetifier
которая является частью плагина Android Gradle версии 3.2.0-alpha14 или выше. Вы можете определить, есть ли у вас библиотека, которая зависит от библиотеки поддержки, запустив задачу dependencies
Gradle.
Из сообщения блога Android Developer (https://android-developers.googleblog.com/2018/05/hello-world-androidx.html):
Если вы зависите от библиотеки, которая ссылается на более раннюю библиотеку поддержки, Android Studio обновит эту библиотеку, чтобы ссылаться на androidx вместо этого на перевод зависимости. Перевод зависимостей автоматически применяется в Android Gradle Plugin 3.2.0-alpha14, который перезаписывает байт-код и ресурсы зависимостей JAR и AAR (и транзитивных зависимостей) для ссылки на новые классы и артефакты, упакованные в androidx. Мы также предоставим автономный инструмент перевода в качестве JAR.
В файле gradle.properties
убедитесь, что у вас есть:
android.enableJetifier=true android.useAndroidX=true
У меня была проблема с Leak Canary по небольшому проекту, и она была решена путем обновления плагина Android Gradle до соответствующей версии. https://github.com/square/leakcanary/issues/1103
Ответ 6
Попробуйте добавить
android.enableD8 = false
в gradle.properties файл.
Ответ 7
Использовать этот
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
android {
compileSdkVersion 28
defaultConfig {
applicationId "ir.uncode.newdesign"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguardrules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'
implementation 'com.android.support:cardview-v7:28.0.0-alpha3'
implementation 'com.android.support:design:28.0.0-alpha3'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'
implementation 'com.android.support:animated-vector-drawable:28.0.0-alpha3'}
repositories {
mavenCentral()
}
и если проблема не устраняет изменения "import" в классе и xml.
лайк:
import androidx.fragment.app.Fragment;
import android.support.v4.app.Fragment;
или же
import androidx.core.app.ActivityCompat;
import android.support.v4.app.ActivityCompat;
или же
com.google.android.material.bottomappbar.BottomAppBar
android.support.design.bottomappbar.BottomAppBar
Ответ 8
Если вы хотите использовать com.android.support:support-v4:28.0.0-alpha1
,
то вы должны использовать
com.android.support:design:28.0.0-alpha1
вместо
com.google.android.material:material:1.0.0-alpha1.
Ответ 9
Если вы используете Android Studio V. 3.2.1, вы можете просто перейти на панель инструментов и открыть Refactor → перейти на AndroidX, а Android Studio позаботится обо всем остальном.
Ответ 10
Я использую версию Android Studio 3.3. Я потратил полтора дня на поиски этого решения. Я попробовал все ответы в этом посте, но ничего не помогло. Тогда я нахожу ссылку, которая помогла мне решить ошибку.
Я удалил ниже зависимость, которую я добавил,
implemntation 'com.google.android.material:material:1.0.0'
Вместо этого я использовал библиотеку поддержки дизайна Android,
implementation 'com.android.support:design:27.1.1'
Ответ 11
Перейдите в app/build.gradle, в зависимостях удалите эту строку:
implementation "com.android.support:appcompat-v7
Ответ 12
попробуйте установить android.enableJetifier=true
и android.useAndroidX=true
в файле gradle.properties.
Ответ 13
Я использую Android версии один и проект был успешно скомпилирован, но когда во время сборки apk он выдает ошибку "Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $ Stub Message {kind = ERROR, text = Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $ Stub, sources = [неизвестный исходный файл], имя инструмента = Optional.of(D8)} "