Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gradle:project:myLib的多个变体与消费者属性匹配_Android_Android Studio_Gradle_Android Gradle Plugin - Fatal编程技术网

Android Gradle:project:myLib的多个变体与消费者属性匹配

Android Gradle:project:myLib的多个变体与消费者属性匹配,android,android-studio,gradle,android-gradle-plugin,Android,Android Studio,Gradle,Android Gradle Plugin,我编写的myLib库使用Firebase中的RemoteMessage,应用程序本身也使用Firebase 使用Gradle4.7。在第4.4.1节中也面对这一点 如何修复它 格雷德尔项目 buildscript { repositories { google() jcenter() mavenCentral() } dependencies { classpath 'com.android.too

我编写的
myLib
库使用
Firebase
中的
RemoteMessage
,应用程序本身也使用
Firebase

使用Gradle4.7。在第4.4.1节中也面对这一点

如何修复它

格雷德尔项目

buildscript {
    
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.3.0'
    }
}

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

task clean(type: Delete) {
    delete rootProject.buildDir
}
应用程序gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.test.app"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    dexOptions {
        preDexLibraries = false
        jumboMode = false
        javaMaxHeapSize "2048M"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    productFlavors {
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.android.support:appcompat-v7:27.1.1'

    implementation 'com.google.android.gms:play-services-gcm:12.0.1'
    implementation 'com.google.android.gms:play-services:12.0.1'
    implementation 'com.google.firebase:firebase-core:12.0.1'
    implementation 'com.google.firebase:firebase-messaging:12.0.1'
    implementation 'com.google.firebase:firebase-crash:12.0.1'

    implementation project(":myLib")
}

apply plugin: 'com.google.gms.google-services'
迈里布·格拉德尔

apply plugin: 'com.android.library'

android {
    compileSdkVersion 27



    defaultConfig {
        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.android.support:appcompat-v7:27.1.1'

    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.2'
    implementation 'com.j256.ormlite:ormlite-core:5.0'
    implementation 'com.j256.ormlite:ormlite-android:5.0'

    implementation 'com.google.firebase:firebase-messaging:12.0.1'
}
testApp\myLib>gradle clean assembleDebug
testApp\app>gradle clean assembleDebug

project:myLib的多个变体与 消费者属性:

  • 配置“:myLib:debugapiements”变体android aidl:
    • 找到工件类型“android aidl”,但不是必需的
    • 必需的com.android.build.api.attributes.BuildTypeAttr“debug”,并找到兼容值“debug”
    • 找到com.android.build.api.attributes.VariantAttr“debug”,但不是必需的
    • 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar'和 找到兼容的值“Aar”
    • 必需org.gradle.usage“java api”,并找到兼容值“java api”
  • 配置“:myLib:debugapiements的变体android类:
    • 找到artifactType“android类”,但不是必需的
    • 必需的com.android.build.api.attributes.BuildTypeAttr“debug”,并找到兼容值“debug”
    • 找到com.android.build.api.attributes.VariantAttr“debug”,但不是必需的
    • 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar'和 找到兼容的值“Aar”
    • 必需org.gradle.usage“java api”,并找到兼容值“java api”
  • 配置“:myLib:debugapiements的变体android清单:
    • 找到artifactType“android清单”,但不是必需的
    • 必需的com.android.build.api.attributes.BuildTypeAttr“debug”,并找到兼容值“debug”
    • 找到com.android.build.api.attributes.VariantAttr“debug”,但不是必需的
    • 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar'和 找到兼容的值“Aar”
    • 必需org.gradle.usage“java api”,并找到兼容值“java api”
  • 配置“:myLib:debugapiements的变体android renderscript:
    • 找到artifactType“android renderscript”,但不是必需的
    • 必需的com.android.build.api.attributes.BuildTypeAttr“debug”,并找到兼容值“debug”
    • 找到com.android.build.api.attributes.VariantAttr“debug”,但不是必需的
    • 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar'和 找到兼容的值“Aar”
    • 必需org.gradle.usage“java api”,并找到兼容值“java api”
  • 配置“:myLib:debugapiements的变量jar:
    • 找到工件类型“jar”,但不是必需的
    • 必需的com.android.build.api.attributes.BuildTypeAttr“debug”,并找到兼容值“debug”
    • 找到com.android.build.api.attributes.VariantAttr“debug”,但不是必需的
    • 必需的com.android.build.gradle.internal.dependency.AndroidTypeAttr'Aar'和 找到兼容的值“Aar”
    • 必需org.gradle.usage“java api”,并找到兼容值“java api”

我在使用谷歌服务时遇到了这个错误:3.3.0

在project.gradle中降级到
classpath'com.google.gms:google services:3.2.1'

它应该解决这个问题


更新:它可能不会出现在当前版本中。

谷歌服务的
gradle插件是为与谷歌Play服务和Firebase
15+
配合使用而设计的,但您使用的是版本
12.0.1

解决办法是:

  • 将您的Play服务和Firebase依赖项升级到版本
    15+
  • 取消您的
    google服务
    升级到
    3.3.0
    ,直到您升级到
    15+
    ,即将gradle插件降级为版本
    3.2.1
编辑1:没有。这意味着,在修复该漏洞的新版本发布之前,降级到
googleservices
3.2.1
可能是您唯一的选择

编辑2:上述缺陷已在
google服务
gradle插件的
4.0.1
版本中修复!(版本
4.0.2
也修复了某些情况下出现的NPE)

顺便说一句,您应该转到FCM。

在过去几天里,我和他遇到了一个类似的问题

implementation 'com.google.android.gms:play-services-auth:15.0.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'
解决方案是要么降级到

implementation 'com.google.android.gms:play-services-auth:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'

或考虑将谷歌云服务和升级到FCM完全


请注意,它们有不同的版本号。在升级到3.3.1时,如果遇到类似问题,您可以查找它们

通过降级至3.2.1修复了该问题

我们可以将firebase版本>=15与3.2.1一起使用,下面的步骤对我有用--

  • 转到android/build.gradle文件
  • 搜索
    jcentre()
    方法
  • 将所有
    jcenter()
    方法移到其块内的底部
    使用Google Services 3.2.1修复了这个问题。你救了我的命@PaulWoitaschekyeh-这似乎是com.Google.gms:Google Services:3.3.0的一个bug。已解决降级至3.2.1的问题,美格服务现已升级至4.0.0。请看,我在更新到3.3.0后也遇到了这种情况,但我们无法降级,因为这是新的play services/firebase版本>=15所需要的。请参阅@hardysim您应该能够将firebase版本>=15与3.2.1一起使用。如何在Ionic 3上集成?谢谢@威尔弗雷多诺约拉,这是格拉德的作品。如果你在你的爱奥尼亚项目中使用gradle,那么它的工作原理是完全一样的。除此之外,这一点都不相关。是的,离子3与gradle有关。目前,当我在Android上构建一个新版本时,我遇到了很多错误。@wilfredonoyo