web-dev-qa-db-ja.com

Googleマテリアルデザインライブラリエラープログラムタイプは既に存在します:Android.support.v4.app.INotificationSideChannel $ Stub $ Proxy

プロジェクトをビルドしようとするときにimplemntation 'com.google.Android.material:material:1.0.0-alpha1'を追加するたびにAndroid St​​udioが言う:

プログラムの種類が既に存在する:Android.support.v4.app.INotificationSideChannel $ Stub $ Proxy Message {kind = ERROR、text =プログラムの種類が既に存在する:Android.support.v4.app.INotificationSideChannel $ Stub $ Proxy、sources = [不明なソースファイル]、ツール名= Optional.of(D8)}

これは私の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'
}

私はこのタイプのエラーのi番目であり、私はこのエラーでanithingを見つけませんでした。ありがとう

34
Smart

私もこの問題に一日中苦労しています。最後に、プロジェクトを正常にコンパイルして実行できました。

まず、これを取り除きます:

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'

}

それがあなたにも役立つことを願っています。

49

私は解決策を探して2日間無駄にしました。まだ解決策を探している人は誰でも以下の手順に従うことができます。

  1. Android St​​udioを最新バージョンに更新します。

  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. GotoBuild> Rebuild Projectでは、多くのエラーが発生する可能性があります。
  1. this リンクを参照してください。

    すべてのold(Android.support)vsnew(androidx。*)依存関係。

    すべての古いインポートnewのものに置き換えます
    (Android studioのreplaceAll機能を使用すると、[Ctrl + Shift + R]で時間を節約できます)。
  1. 最後に、すべての古いライブラリを新しいライブラリでリファクタリングした後:
    プロジェクトを再構築し、うまくいけばうまくいくはずです。

注:Android studioで[リファクタリング]> androidxに移行することもできますが、うまくいきませんでした。

18
Ashu Tyagi

ButterKnifeをバージョン8.8.1にアップグレードすると、このエラーが発生し始めました。

そのため、コマンドgradle -q dependenciesを実行して依存関係レポートを生成します。その後、D8がどこから来たのかを確認します。 「ButterKnife」ライブラリからの私の場合:

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

Android St​​udio Gradleビューに移動して、Android依存関係を確認することもできます(Android St​​udioツールバーで[表示/ツールWindows/Gradle]に移動します) 、「My-Project-Name/Tasks/Android」の下のターゲット「androidDependencies」を選択します(ダブルクリックして実行するか、右クリックして実行します)。

この問題を解決するために、次のようにこのコード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'

それが他の誰かのために働くことを願っています:]乾杯!

6
GFPF

Android Studio v3.2 +はこの問題を解決します。また、[リファクタリング]メニューの下に[AndroidXへの移行]アイテムが追加されます。回避策やロールバックは必要ありません。

ベータ版チャンネルからAndroid St​​udioを更新して3.2以降を使用するか、安定版がリリースされるまで待ちます。

編集:Android St​​udio v3.2は安定したチャンネルになりました。古いサポートライブラリのサポートが終了したため、サポートライブラリを使用せずにAndroidXライブラリに移行することが重要です。

5
Always Lucky

Androidサポートライブラリに推移的な依存関係を持つライブラリを含める場合は、Android Gradleプラグインバージョン3.2の一部であるjetifier機能も使用する必要があります。 .0-alpha14以上。 Gradle dependenciesタスクを実行することで、サポートライブラリに依存するライブラリがあるかどうかを判断できます。

Android開発者のブログ投稿( https://Android-developers.googleblog.com/2018/05/hello-world-androidx.html ):

古いサポートライブラリを参照するライブラリに依存している場合、Android St​​udioは、依存関係の変換を介してそのライブラリを更新して、代わりにandroidxを参照します。依存関係の変換はAndroid Gradleプラグイン3.2.0-alpha14によって自動的に適用され、JARおよびAAR依存関係(および推移的依存関係)のバイトコードとリソースを書き換えて、新しいandroidxパッケージのクラスとアーティファクトを参照します。また、スタンドアロンの翻訳ツールをJARとして提供します。

gradle.propertiesファイルで、次のものがあることを確認してください。

Android.enableJetifier=true Android.useAndroidX=true

リークプロジェクトの小さなプロジェクトでこの問題が発生しましたが、Android Gradleプラグインを適切なバージョンにアップグレードすることで解決しました。 https://github.com/square/leakcanary/issues/11

1
Victor Rendina

App/build.gradleに移動し、依存関係で次の行を削除します。

implementation "com.Android.support:appcompat-v7
1
Estevão Lucas

Android Studio V. 3.2.1を使用している場合は、ツールバーを開いて[リファクタリング]-> AndroidXに移行すると、Androidスタジオが残りを処理します。

0
Zeyad Assem

追加してみてください

Android.enableD8 = false

gradle.propertiesファイルに。

0

これを使って

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

問題が解決しない場合は、クラスと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
0
Hamed Karami

Android studio . versionを使用しています。私はこの解決策を探して1日半を無駄にしました。私はこの投稿ですべての答えを試しましたが、何も助けませんでした。次に、エラーを解決するのに役立つリンクを見つけます。

追加した以下の依存関係を削除し、

implemntation 'com.google.Android.material:material:1.0.0'

代わりに、Androidデザインサポートライブラリを使用し、

implementation 'com.Android.support:design:27.1.1'
0

gradle.propertiesファイルでAndroid.enableJetifier=trueAndroid.useAndroidX=trueを設定してみてください。

0
ahmed mostafa

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.

0