Android

Google material design library error Program type already present: android.support.v4.app.INotificationSideChannel$Stub$Proxy

Тип программы ошибки библиотеки материалов Google, уже присутствующий: android.support.v4.app.INotificationSideChannel $ Заглушка $ Прокси

Всякий раз, когда я добавляю implemntation 'com.google.android.material:material:1.0.0-alpha1' когда я пытаюсь создать свой проект, Android Studio выдает:


Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $Заглушка $Прокси-сообщение {kind=ОШИБКА, text = Тип программы уже присутствует: android.support.v4.app.INotificationSideChannel $ Заглушка $ Прокси, источники = [Неизвестный исходный файл], имя инструмента = Необязательно.of(D8)}


Это мой скрипт gradle:

    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 дня на поиски решения. Любой, кто все еще ищет решение, может выполнить следующие действия:


  1. Обновите Android Studio до последней версии.


  2. Обновите ваши 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"
    }
    }

  3. Перейдите в структуру вашего проекта и измените версию gradle на 4.10.


  4. Сначала добавьте эту зависимость:


    implementation 'com.google.android.material:material:1.0.0'

  5. Теперь удалите все зависимости библиотеки поддержки:


    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'
    })

  6. Теперь вставьте следующее в ваш файл gradle.properties:


    android.useAndroidX = true
    android.enableJetifier = true

  7. В файле 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"

  1. Теперь перейдите к сборке > Перестроению проекта, тогда вы можете получать много ошибок.



  1. Теперь перейдите по этой ссылке.

    В нем есть список всех старых (android.support) и новых (androidx. *) зависимостей.

    Замените весь ваш старый импорт на новый
    (используйте функцию replaceAll в Android studio [ctrl + shift + R], которая сэкономит вам некоторое время).



  1. Наконец, после рефакторинга всех старых библиотек на новые:
    Перестройте проект еще раз, и, надеюсь, он должен работать.


Примечание: Вы также можете использовать Рефакторинг> Миграция на 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 перейдите к "Просмотр / Инструментальные окна / Gradle") и выбрав целевой параметр "androidDependencies" в разделе "My-Project-Name / Задачи / 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+ или подождите, пока не будет выпущена стабильная версия.

РЕДАКТИРОВАТЬ: Android Studio версии v3.2 теперь находится в стабильном режиме. Важно, чтобы вы больше не использовали библиотеки поддержки и перешли на библиотеки AndroidX, поскольку поддержка старых библиотек поддержки закончилась.

2023-05-18 22:40 java android android-gradle-plugin