java - 与谷歌即时游戏和 com.google.gms.google-services 插件冲突

标签 java android firebase gradle google-play-services

我正在创建我的 Android 游戏的即时版本。我已按照此示例的说明进行操作:

https://codelabs.developers.google.com/codelabs/android-instant-apps/index.html?index=..%2F..%2Findex#0

问题是,在功能模块中,我需要访问由 com.google.gms.google-services 插件实现的服务,因此我将它放在此类模块的 gradle 文件中依赖项的底部,但是我的游戏的包名称是(比如)com.me.mygame,而功能模块的包名称是 com.me.mygame.base,上述插件失败,因为我的中没有定义 com.me.mygame.base 包应用 google-services.json 文件。

所以我也尝试将功能模块的名称设置为 com.me.mygame,这就成功了,gradle 将成功构建项目,但在尝试构建到期的 APK 时会失败

com.android.dex.DexException: Multiple dex files define Lcom/me/mygame/BuildConfig

我尝试通过将此选项添加到我的 gradle 模块来解决此问题,正如此处对相关问题的回答中所建议的:

android {
    dexOptions {
        preDexLibraries = false
    }
}

但是没有用。问题仍然存在。

似乎合乎逻辑的是功能模块具有不同的包名称,但如前所述,由于 com.google.gms.google-services 插件没有为此类包创建配置,这将失败。

所以...我被困在这个问题上并且已经没有想法了,所以欢迎任何帮助。

提前一百万致谢!

更新:我已经在 github 中发布了一个最小示例,网址如下:

https://github.com/fmmarzoa/IssuesWithFirebaseCrashlytics

我直接从 Google 指南中获取了该示例。 master 分支是空的,到目前为止我尝试过的变通方法都被命名为“firebase/...”。最后一个是这个“firebase/updating-plugins”:

https://github.com/fmmarzoa/IssuesWithFirebaseCrashlytics/tree/firebase/updating-plugins

我在那篇文章中所做的是按照 dchai 的建议更新几件事情,它似乎对 Google 服务插件起到了作用(至少它现在确实构建了)但是 Firebase Crashlytics 插件依赖于上述内容一个继续失败并显示错误消息:

Crashlytics could not find the manifest. Not found at /Users/fran/Desktop/Idea/android-topeka/base/build/intermediates/merged_manifests/debug/AndroidManifest.xml

最佳答案

旧版本的插件无法正确获取 applicationId 以检查 google-services.json

如果升级到 com.android.tools.build:gradle:3.3.0-alpha08com.google.gms:google-services:4.1.0 ,您的原始项目结构应该构建良好。

关于java - 与谷歌即时游戏和 com.google.gms.google-services 插件冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52099797/

相关文章:

java - JTree 难题 : Tree vs. 通过 vector 扩展进行分支

java - 为什么我仍然收到 java.lang.NoClassDefFoundError : android. support.v7.appcompat.R$attr?

Android从布局xml文件中提取字符串资源

android - 在 2 个不同的回调中调用一个 Activity 中的多个布局

android - 空引用上的 Firebase ArrayList.size()

java - 组合 XML 模式

java - ANTLR4 一个或多个选项的规则*按顺序*

android - 强制 textview 显示只有英文数字的数字

ios - 在 Xcode 9.2 中检索 Firebase 数据库引用时出错

Firebase 并选择不同的