Type de programme d'erreur de la bibliothèque de conception de documents Google déjà présent: android.soutien.v4.App.INotificationSideChannel$Stub$Proxy

Chaque fois que j'ajoute implemntation 'com.google.android.material:material:1.0.0-alpha1' quand j'essaie de construire mon projet Android Studio dit:

type de programme déjà présent: android.soutien.v4.App.INotificationSideChannel$Stub$Proxy Message{kind=ERROR, text = Type de programme déjà présent: android.soutien.v4.App.INotificationSideChannel$Stub$Proxy, sources=[fichier source inconnu], nom de l'outil=optionnel.of (D8)}

<!-Voici mon script 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'
}

je suis nouveau ith ce type d'erreurs, et je Je n'ai pas trouvé anithing avec cette erreur. Merci

16
demandé sur Smart 2018-05-11 12:36:36

8 réponses

j'ai été mal toute la journée avec cette question. Enfin, j'ai réussi à compiler et exécuter le projet avec succès.

tout d'Abord, débarrassez-vous de ceci:

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'

ajouter ce qui suit dans votre Grad.fichier de propriétés:

android.useAndroidX = true
android.enableJetifier = false

et enfin, synchroniser le projet puis compiler.

Si ça ne fonctionne pas, nettoyez le projet, puis reconstruire.

PS: je n'arrive pas à faire fonctionner targetSdkVersion 'p'. Mon build.gradle à la fin du fichier comme suit:

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'

}

J'espère que ça marche pour vous aussi.

27
répondu Alvaro Santa Cruz 2018-05-12 00:07:11

j'ai commencé à obtenir cette erreur après avoir mis à jour le ButterKnife dans la version 8.8.1.

Donc, je lance la commande gradle -q dependencies pour générer un rapport de dépendance, après il faut voir où D8. Dans mon cas, de la "ButterKnife" de la bibliothèque:

+--- com.jakewharton:butterknife:8.8.1
|    |    \--- com.android.support:support-compat:d8

vous pouvez également voir vos dépendances android en allant à votre vue Android Studio Gradle (dans la barre D'outils Android Studio naviguer à "View / Tool Windows / Gradle"), et en sélectionnant la cible " androidDependencies" sous "My-Project-Name/Tasks / android" (double clic pour exécuter ou clic droit et exécuter).

Pour résoudre ce problème, j'ai ajouté ce bout de code exclude module: 'support-compat' à mon "application/build.gradle" comme ci-dessous:

implementation ('com.jakewharton:butterknife:8.8.1') { 
     exclude module: 'support-compat' 
} 
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

Espérons qu'il travaille pour quelqu'un d'autre :] Cheers!

4
répondu GFPF 2018-06-26 19:14:36

j'ai perdu 2 jours à chercher une solution. Quiconque cherche encore une solution peut suivre les étapes ci-dessous:

  1. mettez à jour votre studio Android à la dernière version.

  2. mettez à jour vos compileSdkVersion et 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. Fichier > Structure De Projet et changez votre version de gradle en 4.10.

4. Ajoutez d'abord cette dépendance:

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

5. Maintenant, supprimez toutes les dépendances de la bibliothèque de soutien:

    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'
    })
  1. maintenant coller ce qui suit dans votre gradle.propriétés fichier:

    android.useAndroidX = true
    android.enableJetifier = true
    
  2. au niveau de votre projet construire.gradle fichier:

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath 'com.google.gms:google-services:4.1.0'
    };
    

pour ceux qui utilisent Butterknife ajouter les lignes ci-dessous dans votre construction au niveau du projet.gradle fichier:

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" }
  }
}

Et dans votre module construire.gradle ajouter fichier ci-dessous dépendances:

 implementation "com.jakewharton:butterknife:9.0.0-SNAPSHOT"
 annotationProcessor "com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT"
  1. Maintenant Goto Construire > Projet De Reconstruction De vous avez peut-être beaucoup d'erreurs.
  1. Maintenant se référer lien.



    Il a la liste de tous les vieux (android.de soutien) vs (androidx.*) dépendance.



    Remplacez tous vos vieux importations ceux

    (utilisez la fonctionnalité de remplacement de android studio [ctrl + shift + R] qui vous fera gagner du temps).
  1. enfin après avoir refacturé toutes les anciennes bibliothèques avec les nouvelles:

    Reconstruire le projet encore et j'espère que ça devrait fonctionner.

Note: Vous pouvez aussi utiliser Refactor > Migrer vers androidx dans android studio mais ça n'a pas marché pour moi.

4
répondu Ashu Tyagi 2018-10-03 18:28:07

Android Studio v3.2 + résout ce problème. Il ajoute également un élément" Migrate to AndroidX " dans le menu Refactor. Pas de contourner ou de restauration nécessaires.

mettre à jour Android Studio à partir de la chaîne bêta pour utiliser 3.2+ ou attendre la sortie d'une version stable.

1
répondu Always Lucky 2018-08-09 22:39:35

utilisez ceci

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

et si le problème persiste, changez "importer" sur class et xml.

comme :

import androidx.fragment.app.Fragment;

import android.support.v4.app.Fragment;

ou

import androidx.core.app.ActivityCompat;

import android.support.v4.app.ActivityCompat;

ou

com.google.android.material.bottomappbar.BottomAppBar

android.support.design.bottomappbar.BottomAppBar
1
répondu Hamed Karami 2018-09-05 05:50:47

Essayez d'ajouter

android.enableD8 = false

pour gradle.fichier de propriétés.

0
répondu Ihar Paliashchuk 2018-05-11 15:13:48

Si vous voulez utiliser com.android.support:support-v4:28.0.0-alpha1,

ensuite, vous devez utiliser

com.android.support:design:28.0.0-alpha1

au lieu de

com.google.android.material:material:1.0.0-alpha1.

0
répondu KRIPA SHANKAR JHA 2018-08-01 07:32:25

si vous incluez une bibliothèque qui a une dépendance transitive sur la bibliothèque de soutien Android, vous devez également utiliser le jetifier la fonctionnalité qui fait partie du plugin Gradle Android version 3.2.0-alpha14 ou plus. Vous pouvez déterminer si vous avez une bibliothèque qui dépend de la bibliothèque de soutien en exécutant votre Grad dependencies tâche.

extrait du blog du développeur Android (https://android-developers.googleblog.com/2018/05/hello-world-androidx.html):

si vous dépendez d'une bibliothèque qui se réfère à L'ancienne bibliothèque de soutien, Android Studio mettra à jour cette bibliothèque pour faire référence à androidx à la place par la dépendance de la traduction. La traduction des dépendances est automatique appliqué par le Plugin Gradle d'Android 3.2.0-alpha14, qui réécrit le bytecode et les ressources des dépendances JAR et AAR (et transitive les dépendances) référencez les nouvelles classes emballées par androidx et artefact. Nous fournirons également un outil de traduction autonome POT.

Dans votre gradle.properties fichier assurez-vous que vous avez:

android.enableJetifier=true android.useAndroidX=true

j'ai eu ce problème avec Leak Canary sur un petit projet et il a été résolu en mettant à jour le plugin Gradle Android à la version appropriée. https://github.com/square/leakcanary/issues/1103

0
répondu Victor Rendina 2018-09-23 14:44:47