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服务和Firebase15+
配合使用而设计的,但您使用的是版本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