コンピューターで新しいプロジェクトを開始しましたが、Android向けにビルドできなくなりました
走るとき
ionic cordova platform run Android
私はこのエラーを受け取ります:
All flavors must now belong to a named flavor dimension.
プロジェクトにcordova-plugin-crosswalk-webview
プラグインがインストールされていて、Gradle v4でビルドしようとすると、「フレーバー」エラーが発生します。
ただし、[email protected]
にアップグレードする場合(例:Cordova AndroidプラットフォームプロジェクトをAndroid Studio 3でネイティブプラグインコードをデバッグするために開く) 、Gradle v4にアップグレードする必要があるため、cordova-plugin-crosswalk-webview
は現在[email protected]
と互換性がありません。
「フレーバー」エラーの手動による回避策として、platforms/Android/build.gradle
にデフォルトのフレーバーを挿入できます( こちらを参照 ):
Android {
...
flavorDimensions "default"
...
}
更新
Gradle v4/[email protected]+
およびcordova-plugin-crosswalk-webview
でビルドする場合は、Gradle v4に更新してから、マスターブランチからcordova-Android
をインストールします。 this PR 複数のAPKビルドでの「フレーバー」エラーがマージされました。
cordova platform rm Android
&& cordova platform add https://github.com/Apache/cordova-Android
ソリューションを見つけました。 :)
Gradleバージョンが問題でした。 4.Xから3.5.1にダウングレードする必要がありました。
を行うことにより、あなたのgradleバージョンを確認してください
gradle -v
If> 4.xの場合、ダウングレードしてください!
同じエラーが発生し、それを解決するスクリプトを作成しました。
答えで述べたように、問題は次のとおりです:gradle 4はgradle.buildでflavorDimensionsを必要としています。
ここで確認する場合: https://cordova.Apache.org/docs/en/latest/guide/platforms/Android/#extending-buildgradle
Gradle.buildに含まれるgradle-extra.buildという名前のファイルを作成できます。このファイルを/ platform/Android /に貼り付けるスクリプトを作成するだけです。
だから私は私のプロジェクトルートにこのファイルbuild-extras.gradleを作成しました
Android {
flavorDimensions "default"
}
および./hooks/after_platform_add/copy_build-extras.gradle.jsのスクリプト
#!/usr/bin/env node
var fs = require('fs');
var path = require('path');
if(fs.existsSync(path.resolve(__dirname, '../../platforms/Android'))) {
fs.createReadStream(path.resolve(__dirname, '../../build-extras.gradle')).pipe(fs.createWriteStream(path.resolve(__dirname, '../../platforms/Android/build-extras.gradle')));
}
ここでフックについて確認できます: https://cordova.Apache.org/docs/en/latest/guide/appdev/hooks/index.html
/ hooks/after_platform_addの下のすべてのスクリプトは、ionic platform add ***の後に実行されます
これにより、gradleをダウングレードしたり、cordova-Androidバージョンを変更したりする必要はありません。
この問題はこのPRで解決する必要があります: https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/pull/255