Ionic 3 项目评估失败,包括 afterEvaluate {} 中的错误

Mr *_*237 1 ionic3

晚上好\n有一个 ionic 3 应用程序,它使用 FCM 进行推送通知\n我安装了 android 8 平台\n当我尝试执行 cordova build 命令时,我收到错误:

\n

项目评估失败,包括 afterEvaluate {} 中的错误。使用 --stacktrace 运行以获取 afterEvaluate {} 错误的详细信息。

\n

失败:构建失败并出现异常。

\n

其中:\nScript \xe2\x80\x98C:\\IONIC\\AlloPressing\\platforms\\android\\cordova-plugin-fcm-with-dependecy-updated\\starter-FCMPlugin.gradle\xe2\x80\x99 行:16

\n

出了什么问题:\n评估脚本时出现问题。

\n

无法对 null 对象调用 LastIndexOf() 方法

\n

尝试:\n使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

\n

在https://help.gradle.org获取更多帮助

\n

1m 8s 内构建失败

\n

配置项目:app\nc:\\IONIC\\AlloPressing\\platforms\\android\\gradlew:命令失败,退出代码为 1 错误输出:\n项目评估失败,包括 afterEvaluate {} 中的错误。使用 --stacktrace 运行以获取 afterEvaluate {} 错误的详细信息。

\n

请问如何纠正这个问题?

\n

Die*_*dor 9

我今天更新系统后也遇到同样的问题。

方法一:

删除插件并使用正确的 ANDROID_GRANDLE_TOOLS_VERSION 变量再次添加:

cordova plugin remove cordova-plugin-fcm-with-dependecy-updated

cordova plugin add cordova-plugin-fcm-with-dependecy-updated --variable ANDROID_GRADLE_TOOLS_VERSION="4.1.0"   --variable ANDROID_GOOGLE_SERVICES_VERSION="4.3.4" 
Run Code Online (Sandbox Code Playgroud)

方法二:

我们来检查一下错误。打开文件并转到第 16 行

C:\IONIC\AlloPressing\platforms\android\cordova-plugin-fcm-with-dependecy-updated\starter-FCMPlugin.gradle

在我的 Linux 上,该行包含以下内容:

 ext.gradleNumberVersion = ANDROID_GRADLE_TOOLS_VERSION.substring(0, ANDROID_GRADLE_TOOLS_VERSION.lastIndexOf(".")).toFloat()
Run Code Online (Sandbox Code Playgroud)

看起来是关于 ANDROID_GRANDLE_TOOLS_VERSION 的。

设置变量。在Linux上,我使用:

export ANDROID_GRADLE_TOOLS_VERSION=4.1.0
Run Code Online (Sandbox Code Playgroud)

再次尝试编译:

ionic cordova build android --aot --minifyjs --minifycss --release
Run Code Online (Sandbox Code Playgroud)

PS:您需要提供一些信息。输出是做什么用的ionic info

PS:我在我的电脑上使用 ubuntu 18 尝试过这些步骤:

离子:

   Ionic CLI          : 6.12.3 (/usr/local/lib/node_modules/@ionic/cli)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.2.3

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : android 9.0.0
   Cordova Plugins   : cordova-plugin-ionic-webview 1.2.1, (and 29 other plugins)

Utility:

   cordova-res (update available: 0.15.2) : 0.8.1
   native-run                             : 1.3.0

System:

   Android SDK Tools : 26.1.1 (/home/diego/Android/Sdk)
   NodeJS            : v12.20.0 (/usr/local/bin/node)
   npm               : 6.14.10
   OS                : Linux 5.4
Run Code Online (Sandbox Code Playgroud)

PS:cordova-plugin-fcm-with-dependecy-updated页面上您可以找到很多有用的信息。

PS:可能,您必须在同一文件上注释两行:

// class must be used instead of id(string) to be able to apply plugin from non-root gradle file
//if (!project.plugins.hasPlugin('com.google.gms.google-services')) {
 //   apply plugin: com.google.gms.googleservices.GoogleServicesPlugin
//}
Run Code Online (Sandbox Code Playgroud)

如果你这样做了请告诉我。祝你好运!