gpt4 book ai didi

android - CodenameOne - FirebaseApp 未初始化

转载 作者:行者123 更新时间:2023-11-29 02:25:50 25 4
gpt4 key购买 nike

我正在尝试从 gcm 切换到 fcm。我已按照 gcm 到 fcm 迁移指南中详述的步骤进行操作,尽管 FirebaseApp 没有初始化。

我已经确定了几个可能的问题,但是 codenameone 无助于解决它们。

显然,需要将 google-services 添加到 buildscript 依赖项中,如下所示:

buildscript {
repositories {
...
}
dependencies {

classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:3.0.0'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

但是,我找不到任何 codenameone 构建提示来帮助我做到这一点。

此外,还需要添加 google-services 插件,如下所示:

apply plugin: 'com.google.gms.google-services'

我已经通过使用 android.gradlePlugin 构建提示完成了这个:

codename1.arg.android.gradlePlugin=apply plugin\:'com.google.gms.google-services'

但是构建失败,提示找不到插件,因为它可能需要如上所述定义的插件。

此外,我发现在大多数情况下,这一行应该出现在“依赖项”部分之后,而不是像当前构建提示那样出现在之前。

目前还不确定这是否是一个问题。

我还尝试通过一些 native 代码手动启动 FirebaseApp,如下所示:

Context context = AndroidNativeUtil.getContext();
FirebaseApp.initializeApp(context);

但这并没有帮助。没有错误被抛出,但是当试图通过

检索 token 时
String token = FirebaseInstanceId.getInstance().getToken();

我收到这样的错误:

IllegalStateException: Default FirebaseApp is not initialized in this process

我的 build.gradle 文件,由 codenameone 构建服务器生成,如下所示:

apply plugin: 'com.android.application'

buildscript {
repositories {
jcenter()
mavenLocal()
mavenCentral()
google()
maven { url "https://maven.google.com" }
mavenLocal()
mavenCentral()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}

android {
compileSdkVersion 27
buildToolsVersion '27'

dexOptions {
preDexLibraries = false
incremental false
jumboMode = true
javaMaxHeapSize "3g"
}
defaultConfig {
applicationId "<appid>"
minSdkVersion 15
targetSdkVersion 27
versionCode 85
versionName "0.85"
multiDexEnabled true
}
sourceSets {
main {
aidl.srcDirs = ['src/main/java']
}
}

lintOptions {
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
signingConfigs {
release {
storeFile file("keyStore")
storePassword "android"
keyAlias "androiddebugkey"
keyPassword "android"
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard.cfg'
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.release
}
}
}

repositories {
jcenter()
maven { url "https://maven.google.com" }
mavenLocal()
mavenCentral()
google()
flatDir{
dirs 'libs'
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:27.+'
implementation 'com.android.support:appcompat-v7:27.+'

compile 'com.facebook.android:facebook-android-sdk:4.7.0'
compile 'com.google.android.gms:play-services:10.0.1'
compile 'com.google.gms:google-services:4.1.0'
compile 'com.google.firebase:firebase-core:16.0.3'
compile 'com.google.firebase:firebase-messaging:17.3.0'}

请帮忙。

更新:所以似乎需要两个新的构建提示可以允许:

  1. Inject an apply plugin statement after the dependencies section
  2. Inject a clsspath statement in the buildscript dependencies section

最佳答案

我找到了一种解决方法,可以在没有 google-services 插件的情况下初始化 FirebaseApp。

我必须按照此处所述手动初始化它:Can I initialize Firebase without using google-services.json?

关于android - CodenameOne - FirebaseApp 未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52278220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com