Google材料设计库错误程序类型已存在:android.support.v4.app.INotificationSideChannel $ Stub $ Proxy

Sma*_*art 34 java android android-gradle-plugin

每当我implemntation 'com.google.android.material:material:1.0.0-alpha1'尝试构建我的项目时,我都会添加Android Studio:

程序类型已存在:android.support.v4.app.INotificationSideChannel $ Stub $代理消息{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'
}
Run Code Online (Sandbox Code Playgroud)

我是新的ith这种类型的错误,我没有找到这个错误的anithing.谢谢

Alv*_*ruz 50

我也一直在努力解决这个问题.最后,我成功地编译并运行了项目.

首先,摆脱这个:

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'
Run Code Online (Sandbox Code Playgroud)

在gradle.properties文件中添加以下内容:

android.useAndroidX = true
android.enableJetifier = false
Run Code Online (Sandbox Code Playgroud)

最后,同步项目然后编译.

如果它不起作用,请清理项目,然后重建.

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'

}
Run Code Online (Sandbox Code Playgroud)

希望它也适合你.

  • @SMGhost在gradle.properties文件中。不要尝试在build.gradle上执行此操作 (2认同)

Ash*_*agi 19

我浪费了2天寻找解决方案.任何仍在寻找解决方案的人都可以按照以下步骤操作:

  1. 将您的Android Studio更新到最新版本.

  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"
         }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 转到项目结构并将gradle版本更改为4.10.

  4. 首先添加此依赖项:

    implementation 'com.google.android.material:material:1.0.0'
    
    Run Code Online (Sandbox Code Playgroud)
  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'
    })
    
    Run Code Online (Sandbox Code Playgroud)
  6. 现在将以下内容粘贴到gradle.properties文件中:

    android.useAndroidX = true
    android.enableJetifier = true
    
    Run Code Online (Sandbox Code Playgroud)
  7. 在项目级别的build.gradle文件中:

    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath 'com.google.gms:google-services:4.1.0'
    };
    
    Run Code Online (Sandbox Code Playgroud)

对于那些使用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" }
  }
}
Run Code Online (Sandbox Code Playgroud)

在你的模块build.gradle文件中添加以下依赖项:

 implementation "com.jakewharton:butterknife:9.0.0-SNAPSHOT"
 annotationProcessor "com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT"
Run Code Online (Sandbox Code Playgroud)
  1. 现在转到Build> Rebuild Project然后你可能会遇到很多错误.
  1. 现在请参考链接.

    它具有所有(android.support)与(androidx.*)依赖项的列表.

    更换你的所有旧的进口的人
    (机器人工作室[Ctrl + Shift + R]这将节省您的时间使用的replaceAll功能).
  1. 最后用新的库重构所有旧库:
    再次重建项目,希望它应该工作.

注意:你也可以在android studio中使用Refactor> Migrate to androidx但它对我不起作用.


GFP*_*FPF 6

将ButterKnife升级到版本8.8.1后,我开始收到此错误.

因此,我运行命令gradle -q dependencies生成依赖关系报告,之后您应该看到D8的来源.在我的案例中,来自"ButterKnife"库:

+--- com.jakewharton:butterknife:8.8.1
|    |    \--- com.android.support:support-compat:d8
Run Code Online (Sandbox Code Playgroud)

您还可以通过转到Android Studio Gradle视图(在Android Studio工具栏中导航到"View/Tool Windows/Gradle"),并在"My-Project-Name/Tasks /"下选择目标"androidDependencies"来查看您的Android依赖项. android"(双击运行或右键单击并运行).

为了解决这个问题,我将这段代码添加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'
Run Code Online (Sandbox Code Playgroud)

希望它适用于其他人:]干杯!


Alw*_*cky 5

Android Studio v3.2 +解决了此问题。它还在“重构”菜单下添加了“迁移到AndroidX”项。无需变通方法或回滚。

从Beta通道更新Android Studio以使用3.2+或等到稳定版本发布。

编辑:Android Studio v3.2现在处于稳定通道中。重要的是您不再使用支持库并迁移到AndroidX库,因为对旧支持库的支持已终止。