科尔多瓦Firebase插件编译失败

时间:2020-04-23 18:49:39

标签: android firebase cordova

我的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.

我尝试从platform \ 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构建(构建失败)

另一个有趣的事情是,由于我添加了其他插件,因此我可以阅读霓虹绿的“ build success”,然后该应用程序进行了标准构建,然后构建失败。也许是因为cordova-plugin-firebase-lib。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我在普通的Firebase插件中看到了很多这类错误。通常与版本冲突有关的错误。我在另一个插件中找到了解决方案。

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

它会为您设置和修复版本。

方法2->

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

例如;

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:+

答案 1 :(得分:1)

据我所知,解决此错误的方法是...(我以前遇到过并以这种方式解决过。)

步骤1

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

步骤2

进入文件

android {
     defaultConfig {
         multiDexEnabled true
     }
     {dexoptions
         javaMaxHeapSize "4g"
     }
}

dependencies {
     compile 'com.android.support:multidex:1.0.1'
}

您应该添加内容。

步骤3

最后在config.xml的根目录中

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

希望这可以解决。