繁体   English   中英

Ionic android构建错误:“现在所有风味都必须属于命名的风味维度”

[英]Ionic android build error : “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进行构建,则会出现“味道”错误。

但是,如果要升级到cordova-android@6.4.0 (例如,在Android Studio 3中打开Cordova Android平台项目以调试本机插件代码),则需要升级到Gradle v4。 因此, cordova-plugin-crosswalk-webview cordova-android@6.4.0 cordova-plugin-crosswalk-webview当前与cordova-android@6.4.0不兼容。

作为针对“风味”错误的手动解决方法,您可以在platforms/android/build.gradle插入默认风味( 请参见此处 ):

android { 
    ...
    flavorDimensions "default"
    ...
} 

更新资料

如果您要使用Gradle v4 / cordova-android@6.4+cordova-plugin-crosswalk-webview cordova-android@6.4+ cordova-plugin-crosswalk-webview进行构建,请更新至Gradle v4,然后在master分支之外安装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

如果> 4.x,请降级!

我遇到同样的错误,并且我创建了一个脚本来解决它。

正如答案中所说的那样,问题是:gradle 4希望gradle.build上有flavorDimensions。

如果您在此处查看: https : //cordova.apache.org/docs/en/latest/guide/platforms/android/#extending-buildgradle

我们可以创建一个名为gradle-extra.build的文件,该文件将包含在gradle.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

在ionic平台添加***之后,将执行/ hooks / after_platform_add下的每个脚本

有了这个,我们不需要降级gradle或更改cordova-android版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM