如何解决Ionic 3项目评估失败,包括afterEvaluate {}中的错误
晚上好 我有一个使用FCM推送通知的ionic 3应用程序 我已经安装了android 8平台 当我尝试执行cordova build命令时出现错误:
项目评估失败,包括afterEvaluate {}中的错误。使用--stacktrace运行以获取afterEvaluate {}错误的详细信息。
失败:构建失败,并出现异常。
其中: 脚本“ C:\ IONIC \ AlloPressing \ platforms \ android \ cordova-plugin-fcm-with-dependecy-updated \ starter-FCMPlugin.gradle”行:16
出了什么问题: 评估脚本时出现问题。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行,以获取更多日志输出。使用--scan运行以获取完整的见解。
获取更多帮助在1m 8s内失败
配置项目:app c:\ IONIC \ AlloPressing \ platforms \ android \ gradlew:命令失败,退出代码为1错误输出: 项目评估失败,包括afterEvaluate {}中的错误。使用--stacktrace运行以获取afterEvaluate {}错误的详细信息。
请如何纠正这个问题?
解决方法
我今天更新系统后遇到了同样的问题。
方法一:
删除插件并使用正确的 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"
方法二:
让我们检查错误。打开文件并转到第 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()
看起来是关于 ANDROID_GRANDLE_TOOLS_VERSION。
设置变量。在 linux 上,我使用:
export ANDROID_GRADLE_TOOLS_VERSION=4.1.0
尝试重新编译:
ionic cordova build android --aot --minifyjs --minifycss --release
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
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
//}
如果你这样做了,请告诉我。祝你好运!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。