web-dev-qa-db-ja.com

既に存在するプログラムの種類:Android.support.v4.app.INotificationSideChannel $ Stub $ Proxy

この質問 のように見えるかもしれませんが、提案された解決策では修正できず、コメントもできませんでした。エラーは次のとおりです。

Program type already present: 
Android.support.v4.app.INotificationSideChannel$Stub$Proxy
Message{kind=ERROR, text=Program type already present: 
Android.support.v4.app.INotificationSideChannel$Stub$Proxy, sources=[Unknown 
source file], tool name=Optional.of(D8)}

Firebaseを使用してアプリを作成しようとしていますが、私のgradleファイルがあります

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 28
    defaultConfig {
    minSdkVersion 27
    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'
    }
}
aaptOptions {
    noCompress "tflite"
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
implementation 'com.google.Android.material:material:1.0.0-rc01'
implementation 'androidx.cardview:cardview:1.0.0-rc01'

// ML Kit dependencies
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-ml-vision:17.0.0'
}
apply plugin: 'com.google.gms.google-services'

インポートが良好であることを確認するためにすべてのファイルを渡し、さらに追加します

Android.useAndroidX = true
Android.enableJetifier = false

私のプロジェクトGradleファイルがあります:

// 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.1.4'
    classpath 'com.google.gms:google-services:4.1.0'


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

allprojects {
repositories {
    google()
    jcenter()
}
}

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

Android St​​udio 3.1.4を使用します

11
Morphy

これは、Android Xに移行しようとしたときに起こりました。その理由は、すべてのライブラリがAndroid Xに移行されていないことです。

  • 依存関係を手動で削除できます。:すべての依存関係を確認し、競合する依存関係を見つけてください。 Android St​​udioのGradle Viewプラグインを使用するか、メニューからclass navigationを使用できます。 (Android St​​udioの場合:Navigation-> class;これで、検索ボックスが表示され、「プロジェクト以外のアイテムを含める」にチェックマークを付けて、クラス名全体の作成エラーと今すぐ検索;この依存関係を持つクラスを見つけて、手動で削除してください!)。 AndoirdX以外の依存関係をまだ使用しているファイルにimportステートメントが残っているかどうかを確認してください。はいの場合は、それらも削除してください。

または

  • Android studioで、Refractor-> AndroidXに移行

またはalternative(manual way)

  • 以下をgradle.propertiesに追加します。
   Android.useAndroidX=true
   Android.enableJetifier=true

これにより、Android St​​udioはすべての依存関係を移行します。詳細については、 こちら を確認してください

18
Jose

同様の問題があります。私の場合、Glideライブラリとandroidxを使用しているためです。この解決策は私のために働く:

  1. EnableJetifier値をtrueに設定します
  2. Gradleバージョン4.9でGradleビルドツールを3.3.0-alpha08に更新する

ソース

7
sigitbn