【问题标题】:Cordova firebase plugin compilation failCordova firebase 插件编译失败
【发布时间】:2020-04-23 18:49:39
【问题描述】:

我的 cordova 应用程序非常默认。自从我添加了我的第一个插件:firebase,它不再工作了。

我的插件列表是

cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
cordova-plugin-firebase-lib 5.1.1 "Google Firebase Plugin"
cordova-plugin-whitelist 1.3.4 "Whitelist"

我相信我只需要第一个和最后一个插件,但我尝试了其他几个插件,如 AndroidX 和 Android X 适配器。

我仍然遇到同样的错误。

* What went wrong:
Failed to capture fingerprint of input files for task ':app:preDebugBuild' property 'compileManifests' during up-to-date check.
> The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[17.3.0,17.3.0], [17.0.0,17.0.0]], but resolves to 17.3.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

我尝试从platforms\android 修改build.gradle(以通过com.google.android.gms 的版本验证,但我遇到了另一个错误。

这是我在 build.gradle 中的依赖项

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

        classpath 'com.android.tools.build:gradle:3.3.0'

        classpath 'com.google.gms:google-services:4.1.0' // google-services dependency from cordova-plugin-firebase

        classpath 'io.fabric.tools:gradle:1.25.4' // fabric dependency from cordova-plugin-firebase
    }

我在 git、SO 或 youtube 上看到了很多关于它的主题,但没有一个对我有用。我还尝试通过键入来创建新项目:

  1. cordova 创建测试
  2. cordova 平台添加 android
  3. cordova 构建(构建成功)
  4. cordova 插件添加 cordova-plugin-firebase
  5. cordova 构建(构建失败)

另一件有趣的事是,由于我添加了其他插件,我可以在霓虹绿中看到“构建成功”,然后应用程序进行了标准构建,然后构建失败。可能是因为 cordova-plugin-firebase-lib。

非常感谢您的帮助。

【问题讨论】:

    标签: android firebase cordova


    【解决方案1】:

    据我所知,这个错误的解决方法是……(我以前也遇到过,就是这样解决的。)

    步骤 1

    您需要在项目的根目录下创建一个名为 build-extras.gradle 的文件。

    第二步

    进入文件

    android {
         defaultConfig {
             multiDexEnabled true
         }
         {dexoptions
             javaMaxHeapSize "4g"
         }
    }
    
    dependencies {
         compile 'com.android.support:multidex:1.0.1'
    }
    

    你应该添加内容。

    第三步

    最后在根目录下的config.xml

    <platform name = "android">
    + <resource-file src = "build-extras.gradle" target = "app / build-extras.gradle" /> // You must add this
    </ Platform>
    

    希望通过这种方式解决。

    【讨论】:

    • 我首先在我的项目的根目录下添加了文件。我有这个错误。 D8:无法在单个 dex 文件中容纳请求的类(#方法:120876 > 65536)失败:构建失败并出现异常。 * 出了什么问题:任务 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 执行失败。 > com.android.builder.dexing.DexArchiveMergerException: 合并 dex 档案时出错:.dex 文件中的方法引用数不能超过 64K。
    • 这是同样的错误。我尝试了 cordova android clean 但没有帮助。我觉得这些变化没有被考虑在内。我会尝试在其他地方添加它。
    • 我直接在 project\platforms\android\app\build.gradle 中添加了更改,并且构建成功。我正要试试。
    • 它有效,Firebase 从我的应用程序接收到数据!添加您推荐的插件+在应用程序目录的 build.gradle 中添加您告诉我的设置是解决方案。我无法告诉你我有多开心。非常感谢你!
    • 谢谢。我很高兴问题得到解决:)
    【解决方案2】:

    我在普通的 firebase 插件中看到了很多此类错误。通常与版本冲突有关的错误。我在不同的插件中找到了解决方案。

    https://github.com/dpa99c/cordova-plugin-firebasex

    它为您设置和修复版本。

    方法2->

    将平台中所有与谷歌相关的库> android> project.properties 文件更改为“+”。

    例如;

    cordova.system.library.1 = com.google.android.gms:play-services-base:+
    cordova.system.library.2 = com.google.android.gms:play-services-ads:+
    cordova.system.library.3 = com.google.android.gms:play-services-tagmanager:+
    cordova.system.library.4 = com.google.firebase:firebase-Analytics:+
    cordova.system.library.5 = com.google.firebase:firebase-messaging:+
    cordova.system.library.6 = com.google.firebase:firebase-config:+
    cordova.system.library.7 = com.google.firebase:firebase-perf:+
    cordova.system.library.8 = com.google.firebase:firebase-auth:+
    

    【讨论】:

    • 感谢您的帮助。我很高兴你告诉我这个插件。我尝试了第一种方法,看起来很有希望。我创建了一个新项目,没有任何插件,添加了 firebasex 插件,来自 Firebase 网站的 google-services.json,但我现在有一个新错误。也许你也有过。我要去搜索一下。
    • * 出了什么问题:任务 ':app:transformDexArchiveWithExternalLibsDexMergerForDebug' 执行失败。 > com.android.builder.dexing.DexArchiveMergerException: 合并 dex 档案时出错:.dex 文件中的方法引用数不能超过 64K。在developer.android.com/tools/building/multidex.html 了解如何解决此问题
    猜你喜欢
    • 2020-03-03
    • 2013-03-07
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多