Я начал новый проект на своем компьютере, но я больше не могу создавать для android
Когда я запустил
ionic cordova platform run android
Я получаю эту ошибку:
All flavors must now belong to a named flavor dimension.
Я начал новый проект на своем компьютере, но я больше не могу создавать для android
Когда я запустил
ionic cordova platform run android
Я получаю эту ошибку:
All flavors must now belong to a named flavor dimension.
Ошибка "ароматизаторов" возникает, если в вашем проекте установлен плагин cordova-plugin-crosswalk-webview
, и вы пытаетесь построить с помощью Gradle v4.
Однако, если вы хотите перейти на [email protected]
(например, чтобы открыть проект платформы 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
с главной ветки, так как этот 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, понизите его!
Я получаю ту же ошибку, и я создал script для ее решения.
Как было сказано в ответе, проблема в следующем: gradle 4 хочет flavorDimensions на gradle.build.
Если вы проверите здесь: https://cordova.apache.org/docs/en/latest/guide/platforms/android/#extending-buildgradle
Мы можем создать файл с именем gradle -extra.build, который будет включен в gradle.build, нам просто нужно создать script, чтобы вставить этот файл на /platform/android/.
Итак, я создал этот файл build-extras.gradle в корневом каталоге проекта
android {
flavorDimensions "default"
}
и script on./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
каждый script под /hooks/after _platform_add будет выполнен после добавления ионной платформы ***
При этом нам не нужно понижать версию gradle и не менять версию cordova-android.
Этот вопрос должен быть решен в этом PR: https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/pull/255