내가 작성한 라이브러리 myLib
는 RemoteMessage
에서 사용 Firebase
하며 앱 자체도 Firebase
.
Gradle 사용 4.7. 또한 4.4.1에서 이것을 직면합니다.
그것을 고치는 방법?
project.gradle
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
}
app.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'
myLib.gradle
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 : debugApiElements’변형 android-aidl :
- artifactType ‘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 : debugApiElements’변형 android-classes :
- artifactType ‘android-classes’를 찾았지만 필수는 아닙니다.
- 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 : debugApiElements’변형 android-manifest :
- artifactType ‘android-manifest’를 찾았지만 필수는 아닙니다.
- 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 : debugApiElements’변형 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 : debugApiElements’변형 jar :
- artifactType ‘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’를 찾았습니다.
답변
google-services
Gradle을 플러그인은 구글 플레이 서비스 및 중포 기지와 함께 작동하도록 구성되어 15+
있지만 버전으로 사용하고 있습니다 12.0.1
.
해결책은 다음 중 하나입니다.
- Play 서비스 및 Firebase 종속성을 버전으로 업그레이드합니다
15+
(현재 버전이 다릅니다). - 로
google-services
업그레이드 할3.3.0
때까지15+
, 즉 gradle 플러그인을 version으로 다운 그레이드 할 때까지로
업그레이드를 취소합니다3.2.1
.
편집 1 : 다중 모듈 앱 사용 google-services
3.3
에 대한 알려진 문제가 있습니다. 그에 다운 그레이드 수단 google-services
에 3.2.1
버그가 해제됩니다 해결되는 새 버전까지 할 수있는 유일한 옵션을 선택합니다.
편집 2 : 위에서 언급 한 버그 4.0.1
가 google-services
gradle 플러그인 버전에서 수정되었습니다 ! ( 4.0.2
또한 버전 은 일부 경우에 발생한 NPE를 수정합니다)
BTW, FCM으로 이동해야합니다.
GCM은 멀지 않은 미래에 작동을 멈출 것입니다.
답변
google-services : 3.3.0을 사용할 때이 오류가 발생했습니다.
classpath 'com.google.gms:google-services:3.2.1'
프로젝트 .gradle에서 다운 그레이드 하십시오.
문제가 해결되어야합니다.
업데이트 : 현재 버전에서는 발생하지 않아야합니다.
답변
3.3.1로 업그레이드하는 동안 유사한 문제가 발생했습니다.
3.2.1로 다운 그레이드하여 문제를 해결했습니다.
Firebase 버전> = 15를 3.2.1과 함께 사용할 수 있습니다.
답변
아래 단계는 나를 위해 일했습니다 .—
- android / build.gradle 파일로 이동합니다.
jcentre()
방법을 검색합니다 .- 모든
jcenter()
메소드를 블록 내부의 맨 아래로 이동하십시오 .
답변
지난 며칠 동안 비슷한 문제에 직면했습니다.
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'
또는 Google 클라우드 서비스를 종료하고 FCM으로 완전히 업그레이드하는 것을 고려하십시오.
여기에서 찾아 볼 수있는 버전 번호가 다릅니다.