android - 停止Cordova CLI恢复build.gradle

标签 android cordova gradle

这听起来有点不可思议!
我正在使用cordova构建应用,并且正在尝试实现Firebase。每当我尝试构建时,我都会收到以下错误

Failed to apply plugin [class 'com.google.gms.googleservices.GoogleServicesPlugin']

For input string: "11+"


我看过堆栈溢出,解决方法是从+依赖项中删除build.gradle。我将其删除,然后通过android studio构建,效果很好,但是每当我尝试使用cordova build android通过cli进行构建时,它将还原build.gradle并重新添加+,并且构建失败。
我需要能够通过Cordova build android进行构建,因为如果不通过cli再次构建应用程序,则无法识别对代码的更改!
这几乎就像每次更改时一样,我都必须运行构建以使代码更改得以识别。
我如何通过cordova build android构建而不将+重新添加到build.grade中?

最佳答案

在Cordova Android项目中,build.gradle目录内的任何文件(包括platforms/android/)都被视为 Volatile 的,不应手动编辑。实际上,如果您运行cordova platform rm android,整个platforms/android/目录将被删除。每当使用build.gradle中的模板发生cordova prepare生命周期事件时,都会动态重新创建cordova-android文件,然后在处理Cordova插件等时对其进行动态修改。
因此,无论选择哪种解决方案,都需要使用Cordova构建生命周期。

一种选择是使用第三方插件来覆盖其他Cordova插件指定的库版本,以便对齐它们并防止此类构建失败,例如:

  • cordova-play-services-version-adapter
  • cordova-android-support-gradle-release
  • cordova-android-play-services-gradle-release
  • cordova-android-firebase-gradle-release
  • 关于android - 停止Cordova CLI恢复build.gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55515350/

    相关文章:

    java - 将图像文件绘制到 SurfaceView 返回空白

    android - 如何跳过特定的gradle任务

    java - 如何在workmanager Android上传递输入数组列表

    javascript - 电话间隙 : Custom URL handling freezing

    android - cordova/phonegap 推送通知 unregister() 即使在关闭互联网的情况下也会返回成功

    android - Crouton 依赖于库,但本身不是库

    android - 我想在没有空格的情况下使图像适合 ImageView

    ios - 无法加载网页 - 错误(NSURLErrorDomain 错误 -999)

    java - 使用离线 gradle 运行标准 java 项目时出现 Android Studio 错误

    android - Checkstyle Plugin 不添加 gradle 任务