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项目中添加以下两个插件:

有关如何在测试项目中尝试此操作的工作示例,请参阅 我对此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




ionic3