我尝试降级到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
这是我得到的错误:
这种构建失败是由于6月17日的 major version release of the Google Play Services and Firebase libaries.: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: resource android:attr/fontVariationSettings not found.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: resource android:attr/ttcIndex not found.
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 found.
C:\Users\mmzep\Desktop\mario\Seven\SevenPassengerApp\platforms\android\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:95:
error: resource android:attr/ttcIndex not found. error: failed linking
references.Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute
aapt
新库版本具有以下要求:
- Upgrade
com.android.tools.build:gradle
to v3.2.1 or later.- Upgrade
compileSdkVersion
to 28 or later.- Update your app to use Jetpack (AndroidX)
可以通过更新使用cordova-android@8.0.0来解决前两个要求.
第三个要求您的Android项目迁移到使用AndroidX(Jetpack).
AndroidX是广泛使用的Android Support Library的继承者.
最新版本的Play Services / Firebase库和支持库现在使用的AndroidX被许多现有插件(如cordova-plugin-firebase)使用.
这两个库不能在同一个Android构建中并存 – 这样做会导致构建失败.
要解决此问题,请在Cordova项目中添加以下两个插件:
> cordova-plugin-androidx在Android项目中启用AndroidX.
> cordova-plugin-androidx-adapter使用支持库动态修补任何插件的源代码以使用AndroidX等效项.
有关如何在测试项目中尝试此操作的工作示例,请参阅my comment on this Github issue.
注意:如果您使用cordova-plugin-firebase并遇到错误,则可以使用my fork of that plugin作为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