android - Ionic Cordova应用程序在谷歌6月17日Firebase SDK更新后停止编译
ionic-framework ionic3 (4)
1.第一个答案
We
为此
https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/13
创建了一个PR,但这需要将
cordova-android
升级到
8.0.0
。
正在为
cordova-android
7.x做一个解决方法,但同时,还在讨论是否继续支持它。
2.编辑 - 2019年6月19日
发布了新版本
v3.3.0
以解决由支持
cordova-android <= 7.1.4
Google Firebase版本引起的问题。
https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment-503499409
cordova plugin remove cordova-plugin-firebase-lib
# Or if you were using original fork
#cordova plugin remove cordova-plugin-firebase
cordova plugin add cordova-plugin-firebase-[email protected].3.0
3.编辑 - 2019年6月20日
发布了新版本
v4.0.1
以解决由支持
cordova-android >= 8.0.0
Google Firebase版本引起的问题。
https://github.com/wizpanda/cordova-plugin-firebase-lib/pull/14#issuecomment-503499409
cordova plugin remove cordova-plugin-firebase-lib
# Or if you were using original fork
#cordova plugin remove cordova-plugin-firebase
cordova plugin add cordova-plugin-firebase-lib
在使用Breaking Changes更新Firebase主要版本后,我无法编译Ionic Cordova应用程序,特别是2019年6月17日更新。
我尝试降级到Android Cordova 6.3.0,但我的项目必须是7.0.0。
这是我的离子信息:
@ionic/cli-utils : 1.19.2
ionic (Ionic CLI) : 3.20.0
global packages:
cordova (Cordova CLI) : 8.0.0
local packages:
@ionic/app-scripts : 3.2.1
Cordova Platforms : android 7.0.0 browser 5.0.4
Ionic Framework : ionic-angular 3.9.3
System:
Android SDK Tools : 26.1.1
Node : v8.9.1
npm : 5.5.1
OS : Windows 10
Environment Variables:
ANDROID_HOME : C:\Development\android-sdk
Misc:
backend : pro
这是我得到的错误:
:app:processDebugResources C:\ Users \ mmzep.gradle \ _caches \ transforms-1 \ files-1.1 \ core-1.0.0.aar \ 73b4a83ab5e76f20c84a66b1c8444d08 \ res \ values \ values.xml:133:5-70:AAPT:error :资源android:找不到attr / fontVariationSettings。
C:\ Users \ mmzep.gradle \ caches \ transforms-1 \ files-1.1 \ core-1.0.0.aar \ 73b4a83ab5e76f20c84a66b1c8444d08 \ res \ values \ values.xml:133:5-70:AAPT:错误:资源android:未找到attr / ttcIndex。
C:\ Users \ mmzep \ Desktop \ mario \ Seven \ SevenPassengerApp \ platforms \ android \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:95:error:resource android:attr / fontVariationSettings not not找到。 C:\ Users \ mmzep \ Desktop \ mario \ Seven \ SevenPassengerApp \ platforms \ android \ app \ build \ intermediates \ incremental \ mergeDebugResources \ merged.dir \ values \ values.xml:95:错误:资源android:attr / ttcIndex not找到。 错误:链接引用失败。
无法执行aapt
com.android.ide.common.process.ProcessException:无法执行aapt
在platform / android / project.properties中设置以下设置:
cordova.gradle.include.1=cordova-plugin-firebase/app-build.gradle
cordova.system.library.4=com.google.firebase:firebase-core:+
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:+
我有同样的问题(错误:找不到资源android:attr / ttcIndex)。
[email protected] + cordova-plugin-androidx + cordova-plugin-androidx-adapter完美地为我工作。
谢谢你的解决方案。
我只是想知道使用这两个插件是否是一个很好的长时间赌注。 任何意见?
按照以下顺序进行cordova-android <= 7.1.4
cordova平台删除android
cordova插件删除cordova-plugin-firebase
cordova插件添加[email protected]
cordova平台添加android
cordova-plugin-firebase现在包含在cordova-plugin-firebase-lib中
此版本失败是由于6月17日 Google Play服务和Firebase库 的 主要版本发布 。
新库版本具有以下要求:
- 将
com.android.tools.build:gradle
升级到v3.2.1或更高版本。- 将
compileSdkVersion
升级到28或更高版本。- 更新您的应用程序以使用Jetpack(AndroidX)
可以通过更新使用
[email protected]
来解决前两个要求。
第三个要求您的Android项目迁移到使用AndroidX(Jetpack)。 AndroidX 是广泛使用的 Android支持库 的继承者。 最新版本的Play Services / Firebase库和支持库现在使用的AndroidX被许多现有的插件使用,例如 cordova-plugin-firebase 。 这两个库不能在同一个Android构建中并存 - 这样做会导致构建失败。
要解决此问题,请在Cordova项目中添加以下两个插件:
- AndroidX 在Android项目中启用AndroidX。
- cordova-plugin-androidx-adapter 使用支持库动态修补任何插件的源代码以使用AndroidX等价物。
有关如何在测试项目中尝试此操作的工作示例,请参阅 我对此Github问题的评论 。
注意:
如果您使用的是
cordova-plugin-firebase
并遇到错误,您可以使用
我的该插件的fork,该插件
作为
cordova-plugin-firebasex
并修复以解决由新Firebase SDK引起的问题:
rm -Rf platforms/android
cordova plugin rm cordova-plugin-firebase
rm -Rf plugins/ node_modules/
npm install
cordova plugin add cordova-plugin-firebasex
cordova platform add android