cordova buildで突然エラーがでるようになった

はじめに

2018年3月にIonicのアプリをビルドしようとしたら、今までビルドできていたソースが突然以下のようなエラーが発生して、ビルド出来なくなってしまいました。

:app:processArm64DebugResources
.gradle\caches\transforms-1\files-1.1\xwalk_core_library-23.53.589.4.aar\ddf6f1dc93e557ee26aa87c9d7227058\res\values\dimens_03.xml:14:5-51: AAPT: error: resource android:attr/fontVariationSettings not found.
.gradle\caches\transforms-1\files-1.1\xwalk_core_library-23.53.589.4.aar\ddf6f1dc93e557ee26aa87c9d7227058\res\values\dimens_03.xml:14:5-51: AAPT: error: resource android:attr/ttcIndex not found.
platforms\android\app\build\intermediates\incremental\mergeArm64DebugResources\merged.dir\values\values.xml:99: error: resource android:attr/fontVariationSettings not found.
platforms\android\app\build\intermediates\incremental\mergeArm64DebugResources\merged.dir\values\values.xml:99: error: resource android:attr/ttcIndex not found.

error: failed linking references.

 FAILED
46 actionable tasks: 46 executed
Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
        at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
        at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
        at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)

ビルドをし直したり、platformを一度削除して、再追加したりしたのですが、解決せず、色々調べたところ、以下の記事が見つかりました。 https://stackoverflow.com/questions/49171052/error-android-resource-linking-failed-aapt2-27-0-3-daemon-0 Androidのサポートライブラリがアップデートされており、Crosswalkなどのプラグインがそれに対応できずにエラーが発生しているようです。

対応方法

以下の手順で、build.gradeを修正します。

念のため、platformを再追加します。

ionic cordova platform rm android

ionic cordova platform add android

platforms/android/appの下にある、build.gradleファイルの一番上に、以下を記述

configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:27.1.0'
}

ビルドを実行

ionic cordova build android

以上

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です