Ошибка: тип программы уже существует: androidx.versionedparcelable.ParcelImpl - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь добавить это https://github.com/ArthurHub/Android-Image-Cropper Но когда я добавляю это, я получаю эту ошибку "Ошибка: Тип программы уже присутствует: androidx.versionedparcelable.ParcelImpl"

Я приложил проект Gradle и приложение Gradle. (Я новичок в разработке Android и не совсем уверен, как это исправить.)

Я думаю, что это как-то связано с

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

Но они используются для TextInputLayout в одном из моих макетов для действия. Любая помощь будет принята с благодарностью.

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

Приложение 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'

Ответы [ 4 ]

0 голосов
/ 03 февраля 2019

Я решил свою проблему путем понижения зависимостей «Butterknife» до версии 8.8.1

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

В качестве альтернативы я решил поискать в файлах всего проекта любых операторов импорта с использованием androidx, а затем заменить их версией android.support.

В моем случае я нашел -

import androidx.annotation.NonNull; который я заменил на import android.support.annotation.NonNull;

0 голосов
/ 01 ноября 2018

Вы используете библиотеку поддержки, тогда как в новой версии Image-Cropper Библиотека использовала библиотеку androidx.

чек журнал изменений

Итак, у вас есть два варианта: вы можете перейти на androidx или изменить версию библиотеки на старую версию

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

0 голосов
/ 01 ноября 2018

Вы можете сохранить последнюю версию и настроить gradle на использование AndroidX

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

gradle.properties:

android.useAndroidX=true
android.enableJetifier=true

Из документа Использование AndroidX

См. Миграция в AndroidX, чтобы узнать, как перенести существующий проект.

Если вы хотите использовать AndroidX в новом проекте, вам нужно установить скомпилировать SDK для Android 9.0 (уровень API 28) или выше и установить оба следующий плагин Android Gradle указывает на истинное в вашем gradle.properties файл.

android.useAndroidX: при значении true плагин Android использует соответствующая библиотека AndroidX вместо библиотеки поддержки. Флаг есть по умолчанию false, если не указано.

android.enableJetifier: когда при значении true плагин Android автоматически переносит существующие сторонние библиотеки для использования AndroidX путем переписывания своих двоичных файлов. флаг равен по умолчанию, если он не указан.

0 голосов
/ 01 ноября 2018

Вам нужно использовать api 'com.theartofdev.edmodo:android-image-cropper:2.7.0'

Поскольку android-image-cropper:2.8.+' является обновлением для поддержки библиотеки до AndroidX

Для com.android.support Используйте это

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

Для AndroidX Используйте это

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

Журнал изменений 2.8.0

  • Исправлено падение на Android O

  • Обновление для поддержки библиотеки до AndroidX

  • Ошибка обработки при выборе не файла изображения

  • Больше переводов

Для получения дополнительной информации, пожалуйста, прочитайте Change log Android Image Cropper

...