Я пытаюсь собрать приложение NDK с Firebase Cloud Messaging, используя плагин Android-модели с gradle-experimental. Когда я называюNdk build with gradle Экспериментальная плагин для платформы Android. Java.lang.IllegalStateException: FirebaseApp с именем [DEFAULT] не существует.
FirebaseInstanceId.getInstance().getToken()
Приложение вызывает
java.lang.IllegalStateException: FirebaseApp with name [DEFAULT] doesn't exist.
Если я переключаюсь на com.android.application плагин от com.android.model.application плагин, то все работает нормально, но, к сожалению, мне нужно построить NDK проект с облачными сообщениями. Вы не знаете, как это решить? Gradle файл:
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 24
buildToolsVersion = "24.0.2"
/* defaultConfig {
applicationId = "com.myapppackage.myappname"
minSdkVersion.apiLevel = 14
targetSdkVersion.apiLevel = 24
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
}*/
defaultConfig {
applicationId = "com.myapppackage.myappname"
}
buildTypes {
release {
minifyEnabled = true
useProguard = true
proguardFiles.add(file('proguard-rules.pro'))
ndk.with {
debuggable = false
}
}
debug {
minifyEnabled = true
useProguard = true
debuggable = true
proguardFiles.add(file('proguard-rules.pro'))
ndk.with {
debuggable = false
}
}
}
compileOptions.with {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
ndk {
platformVersion = "14"
moduleName = "testndk"
toolchain = "clang"
ldLibs.add("log")
}
sources {
main {
jni {
source {
srcDirs.removeAll()
srcDirs.add('src/main/jni/netguard')
}
exportedHeaders {
}
}
}
}
productFlavors {
create("all") {
versionName = "1.00"
minSdkVersion.apiLevel = 14
targetSdkVersion.apiLevel = 24
versionCode = 100
archivesBaseName = "MyAppName-v$versionName"
}
create("lollipop-and-later") {
versionName = "1.00"
minSdkVersion.apiLevel = 20
targetSdkVersion.apiLevel = 24
versionCode = 100
archivesBaseName = "MyAppName-v$versionName"
}
create("kitkat-and-earlier") {
versionName = "1.00"
minSdkVersion.apiLevel = 14
maxSdkVersion = 19
targetSdkVersion.apiLevel = 24
versionCode = 100
archivesBaseName = "MyAppName-v$versionName"
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.google.android.gms:play-services:9.4.0'
compile 'com.google.firebase:firebase-messaging:9.4.0'
compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-ads:9.4.0'
testCompile 'junit:junit:4.12'
}
И proguard-rules.pro файл:
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-dontobfuscate
-dontoptimize
-keep class android.support.v7.widget.** { *; }
-dontwarn android.support.v4.**
-keep public class com.google.android.gms.** {*;}
-dontwarn com.google.android.gms.**
-keep public class com.google.firebase.** {*;}
-dontwarn com.google.firebase.**