java - 谷歌 Material 设计库错误程序类型已经存在: android. support.v4.app.INotificationSideChannel$Stub$Proxy

标签 java android android-gradle-plugin

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

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

这是我的 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'
}

我是这种类型的错误的新手,我没有发现这个错误。谢谢

最佳答案

我也整天都在为这个问题苦苦挣扎。最后,我成功编译并运行了项目。

首先,摆脱这个:

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'

}

希望它也对你有用。

关于java - 谷歌 Material 设计库错误程序类型已经存在: android. support.v4.app.INotificationSideChannel$Stub$Proxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50289355/

相关文章:

android - 如何使用 Holo Theme 更改 Android 中按钮的背景颜色?

android - 为 android 商店签署 kivy 应用程序时出错

java - 如何添加将 View 扩展到 Main Activity 的自定义类?

java - 无法在Android Studio中运行任何JAVA模块

Android gradle 3.0.0 - ZLIB 输入流的意外结束

java - 嗅探 LAN : Jpcap java program only seems to catch my packets

java - 如何将 JADE 与任何其他前端接口(interface)?

java - Junit - 运行一次设置方法

android - 从 app/build.gradle 文件运行 firebaseUploadReleaseProguardMapping 任务

java - 一对多:让 Hibernate 选择引用的 id 而不是加入它