web-dev-qa-db-fra.com

Erreur: Type de programme déjà présent: androidx.versencedparcelable.ParcelImpl

J'essaie d'ajouter ceci https://github.com/ArthurHub/Android-Image-Cropper Mais quand je l'ajoute, j'obtiens cette erreur "Erreur: Type de programme déjà présent: androidx.verseasedparcelable.ParcelImpl" 

J'ai joint projet gradle et app gradle. (Je suis nouveau dans le développement Android et je ne sais pas trop comment le réparer.)

je pense que cela pourrait avoir quelque chose à voir avec

implementation "com.Android.support:appcompat-v7:${supportLibVersion}"
implementation "com.Android.support:design:${supportLibVersion}"

Mais ceux-ci sont utilisés pour TextInputLayout dans l'une de mes mises en page pour une activité. Toute aide est la bienvenue.

  // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {

        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.Android.tools.build:gradle:3.2.1'
            classpath 'com.google.gms:google-services:4.0.0'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }

    allprojects {
        repositories {
            google()
            jcenter()
            maven{
               url  "https://maven.google.com"
            }
        }
    }

    task clean(type: Delete) {
        delete rootProject.buildDir
    }

App Gradle: 

apply plugin: 'com.Android.application'

    Android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.something.app"
            minSdkVersion 24
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            }
        }
    }

        ext {
            supportLibVersion = '27.1.1'  // variable that can be referenced to keep support libs consistent
            }

    dependencies {

        api 'com.theartofdev.edmodo:Android-image-cropper:2.8.+'

        implementation "com.Android.support:appcompat-v7:${supportLibVersion}"
        implementation "com.Android.support:design:${supportLibVersion}"
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.Android.support:appcompat-v7:28.0.0-rc01'
        implementation 'com.Android.support:design:28.0.0-rc01'
        implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
        implementation 'com.google.firebase:firebase-core:16.0.4'
        implementation 'com.google.firebase:firebase-auth:16.0.4'
        implementation 'com.google.firebase:firebase-database:16.0.3'
        implementation 'com.google.firebase:firebase-storage:16.0.3'
        testImplementation 'junit:junit:4.12'
        implementation 'de.hdodenhof:circleimageview:2.2.0'
        implementation 'com.squareup.picasso:picasso:2.71828'
        implementation 'com.Android.support:support-v4:28.0.0'
        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-rc01'



        //implementation 'com.google.Android.gms:play-services-maps:16.0.0'
        // implementation 'com.google.Android.gms:play-services-analytics:7.3.0'
        implementation 'com.google.Android.gms:play-services-maps:16.0.0'
        implementation 'com.google.Android.gms:play-services-location:16.0.0'
        implementation 'com.google.Android.gms:play-services-analytics:16.0.4'
        implementation 'com.google.Android.gms:play-services-places:16.0.0'
    }

    apply plugin: 'com.google.gms.google-services'
2
Yee-haw

Vous utilisez la bibliothèque de support alors que la nouvelle version de Image-Cropper Library utilisait la bibliothèque androidx

vérifier changer le journal

Donc, vous avez deux options soit vous pouvez déplacer à androidx ou changer la version de la bibliothèque en ancienne version 

api 'com.theartofdev.edmodo:Android-image-cropper:2.7.0'

2
Abhay Koradiya

Vous pouvez conserver la dernière version et configurer gradle pour utiliser AndroidX

api 'com.theartofdev.edmodo:Android-image-cropper:2.8.+'

gradle.properties:

Android.useAndroidX=true
Android.enableJetifier=true

De Doc Utilisation d'AndroidX

Voir Migration vers AndroidX pour savoir comment migrer un projet existant.

Si vous souhaitez utiliser AndroidX dans un nouveau projet, vous devez définir le paramètre compilez le SDK sous Android 9.0 (API niveau 28) ou supérieur et définissez les deux. les drapeaux du plug-in Android Gradle suivants à true dans votre gradle.properties fichier.

Android.useAndroidX: lorsqu'il est défini sur true, le plug-in Android utilise le fichier bibliothèque AndroidX appropriée au lieu d’une bibliothèque de support. Le drapeau est false par défaut si ce n'est pas spécifié.

Android.enableJetifier: quand défini sur true, le plug-in Android migre automatiquement les fichiers existants bibliothèques tierces à utiliser AndroidX en réécrivant leurs fichiers binaires. Le flag est false par défaut s'il n'est pas spécifié.

1
Khaled Lela

J'ai résolu mon problème en rétrogradant les dépendances de butterknife vers la version 8.8.1.

// BUTTERKNIFE
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

Une autre solution consistait à rechercher des instructions d'importation sous androidx dans des fichiers de projet complets pour les remplacer par la version Android.support.

Dans mon cas j'ai trouvé -

import androidx.annotation.NonNull; que j'ai remplacé par import Android.support.annotation.NonNull;

0
Aishwary Dhare

Vous devez utiliser api 'com.theartofdev.edmodo:Android-image-cropper:2.7.0'

Parce que Android-image-cropper:2.8.+' est une mise à jour pour prendre en charge la bibliothèque sur AndroidX 

Pour com.Android.support Utilisez ceci

api 'com.theartofdev.edmodo:Android-image-cropper:2.7.0'

Pour AndroidX Utilisez ceci

api 'com.theartofdev.edmodo:Android-image-cropper:2.8.+'

Change log 2.8.0

  • Correction d'un crash sur Android O 

  • Mise à jour pour prendre en charge la bibliothèque sur AndroidX 

  • Gestion des échecs lors de la sélection d'un fichier non-image 

  • Plus de traductions

Pour plus d'informations, consultez le Change log d'Android Image Cropper

0
Nilesh Rathod