web-dev-qa-db-ja.com

エラー:プログラムタイプはすでに存在します:androidx.versionedparcelable.ParcelImpl

これを追加しようとしています https://github.com/ArthurHub/Android-Image-Cropper しかし、追加するとこのエラーが発生します。「エラー:プログラムタイプは既に存在します:androidx.versionedparcelable。 ParcelImpl」

プロジェクトグラドルとアプリグラドルを添付しました。 (私はAndroid開発に不慣れであり、修正方法が完全にはわかりません。)

何か関係があると思う

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

しかし、これらはアクティビティのレイアウトの1つで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'
6
Yee-haw

サポートライブラリを使用しますが、Image-Cropperライブラリの新しいバージョンはandroidxライブラリを使用しました。

チェック ログの変更

したがって、2つのオプションがあり、androidxに移動するか、ライブラリのバージョンを古いバージョンに変更できます。

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

6
Abhay Koradiya

バターナイフの依存関係をバージョン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;

4
Aishwary Dhare

最新バージョンを保持し、gradleを使用してAndroidXを構成できます。

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

gradle.properties:

Android.useAndroidX=true
Android.enableJetifier=true

Docから AndroidXを使用

既存のプロジェクトを移行する方法については、AndroidXへの移行をご覧ください。

新しいプロジェクトでAndroidXを使用する場合は、コンパイルSDKをAndroid 9.0(APIレベル28)以上に設定し、以下の両方を設定する必要がありますAndroid gradle.propertiesファイル。

Android.useAndroidX:trueに設定すると、Androidプラグインはサポートライブラリの代わりに適切なAndroidXライブラリを使用します。指定しない場合、フラグはデフォルトでfalseです。

Android.enableJetifier:trueに設定すると、Androidプラグインは、バイナリを書き換えて既存のサードパーティライブラリを自動的に移行し、AndroidXを使用します。指定しない場合、フラグはデフォルトでfalseです。

1
Khaled Lela

使用する必要がありますapi 'com.theartofdev.edmodo:Android-image-cropper:2.7.0'

なぜならAndroid-image-cropper:2.8.+'は、AndroidXへのライブラリをサポートするための更新です

Forcom.Android.supportこれを使用

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

ForAndroidXこれを使用

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

変更ログ2.8.0

  • Android Oでクラッシュを修正

  • AndroidXのライブラリをサポートするための更新

  • 非画像ファイルを選択する際の失敗の処理

  • その他の翻訳

詳細については、 Change log of Android Image Cropper

0
Nilesh Rathod