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

  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. Теперь перейдите в Build> Rebuild Project, тогда вы можете получить много ошибок.
  1. Теперь перейдите по этой ссылке.

    Он содержит список всех старых (android.support) и новых (androidx. *) Зависимостей.

    Замените все ваши старые импорта новыми
    (Используйте функцию replaceAll в Android Studio [Ctrl + Shift + R], которая сэкономит вам время).
  1. Наконец, после рефакторинга всех старых библиотек с новыми:
    Перестройте проект еще раз и, надеюсь, он должен работать.

Примечание: вы также можете использовать 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)} "