我在ionic 3中的cordova插件firebase中有错误
在38秒内失败
任务:app:compileDebugJavaWithJavac FAILED失败 24个可执行任务:24个已执行 E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ gradlew:命令失败,退出代码为1错误输出: 注意:E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ CordovaLib \ src \ org \ apache \ cordova \ engine \ SystemCookieManager.java使用或覆盖已弃用的API。 注意:有关详细信息,请使用-Xlint:deprecation重新编译。 E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePluginInstanceIDService.java:6:错误:找不到 符号 导入com.google.firebase.iid.FirebaseInstanceIdService; ^ 符号:类FirebaseInstanceIdService 位置:包com.google.firebase.iid E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePluginInstanceIDService.java:9:错误:找不到 符号 公共类FirebasePluginInstanceIDService扩展了FirebaseInstanceIdService { ^ 符号:类FirebaseInstanceIdService E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePlugin.java:544:错误:类FirebaseRemoteConfig中的方法getByteArray无法应用于给定类型; :FirebaseRemoteConfig.getInstance()。getByteArray(key,namespace); ^ 必需:字符串 找到:字符串,字符串 原因:实际和正式论点清单的长度不同 E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePlugin.java:562:错误:类FirebaseRemoteConfig中的方法getValue无法应用于给定类型; :FirebaseRemoteConfig.getInstance()。getValue(key,namespace); ^ 必需:字符串 找到:字符串,字符串 原因:实际和正式论点清单的长度不同 E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePlugin.java:616:错误:没有为setDefaults(Map,String)找到合适的方法 FirebaseRemoteConfig.getInstance()。setDefaults(defaultsToMap(defaults),名称空间); ^ 方法FirebaseRemoteConfig.setDefaults(Map)不适用 (实际和正式论点列表的长度不同) 方法FirebaseRemoteConfig.setDefaults(int)不适用 (实际和正式论点列表的长度不同) E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePlugin.java:780:错误:找不到符号 myTrace.incrementCounter(counterNamed); ^ 符号:方法incrementCounter(String) 位置:Trace类型的变量myTrace E:\ ionic \ School_App_A \ School_App_A \ School_App_A \ platforms \ android \ app \ src \ main \ java \ org \ apache \ cordova \ firebase \ FirebasePluginInstanceIDService.java:18:错误:方法没有覆盖或实现超类型的方法 @Override ^ 注意:某些输入文件使用或覆盖不推荐使用的API。 注意:有关详细信息,请使用-Xlint:deprecation重新编译。 注意:某些输入文件使用未经检查或不安全的操作。 注意:使用-Xlint:unchecked重新编译以获取详细信息。 7个错误
失败:构建失败,并出现异常。
出了什么问题: 任务':app:compileDebugJavaWithJavac'的执行失败。
编译失败;有关详细信息,请参见编译器错误输出。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。使用--scan运行以获取完整的见解。
答案 0 :(得分:1)
我不是一个有经验的人,但是尝试此解决方案对我来说是有效的。
进入您的android平台目录并找到string.xml
文件,在我的情况下该文件位于PROJECT_DIR\platforms\android\res\values
中,因此只需要在plugins\cordova-plugin-firebase
js文件中更正此路径即可。
这是我为我的项目所做的,并且对我有用。
对于Cordova安装,应将MY_APP\plugins\cordova-plugin-firebase\scripts\after_prepare.js
设置为stringsXml: ANDROID_DIR + '/res/values/strings.xml'
现在构建,希望它可以正常工作
答案 1 :(得分:0)
cordova-plugin-firebase尚未使用最新的android支持进行更新。
拉请求已在队列issue中。
同时您可以使用:
ionic cordova platform rm android
ionic cordova plugin remove cordova-plugin-firebase
添加
ionic cordova plugin add cordova-plugin-firebase https://github.com/dpa99c/cordova-plugin-firebase\#GH-1057-April-05-android-build-issue