软件编程
位置:首页>> 软件编程>> Android编程>> Android studio 3.0上进行多渠道打包遇到的问题小结(超简洁版)

Android studio 3.0上进行多渠道打包遇到的问题小结(超简洁版)

作者:small_technical  发布时间:2022-09-16 07:58:40 

标签:android,studio,3.0,打包

Error:All flavors must now belong to a named flavor dimension. The flavor 'xiaomi' is not assigned to a flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

Android studio 3.0上进行多渠道打包时编译时出现这个错误

多渠道打包参考:https://www.jb51.net/article/127340.htm

解决问题参考:https://stackoverflow.com/questions/44105127/android-studio-3-0-flavor-dimension-issue

多渠道打包的细节我就不说了,参考网络上的,或者我上面的这个链接就好,下面给出一下我修改的代码(如果有其他的改法也希望能多多交流)


flavorDimensions "default"
productFlavors {
kuan {
 dimension "default"
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "kuan"]
}
xiaomi {
 dimension "default"
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
qh360 {
 dimension "default"
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
}
baidu {
 dimension "default"
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
}
wandoujia {
 dimension "default"
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
}

或者: 


flavorDimensions "default"
productFlavors {
 kuan {dimension "default"}
 xiaomi {dimension "default"}
 qh360 {dimension "default"}
 baidu {dimension "default"}
 wandoujia {dimension "default"}
}
productFlavors.all {
 flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}

然后解决问题之后我又去官网查阅了一下,地址如下:

https://developer.android.com/studio/build/build-variants.html#flavor-dimensions

根据官网说法:

You must assign each product flavor you configure to one of the flavor dimensions.

你必须指定一种 flavor dimensions

void flavorDimensions(String... dimensions) 

flavorDimensions 后面可以添加多个不同类型的参数例如:

flavorDimensions "api", "mode" 

接下来的使用对应起来就好了:


productFlavors {
demo {
 // Assigns this product flavor to the "mode" flavor dimension.
 dimension "mode"
 ...
}
full {
 dimension "mode"
 ...
}
// Configurations in the "api" product flavors override those in "mode"
// flavors and the defaultConfig {} block. Gradle determines the priority
// between flavor dimensions based on the order in which they appear next
// to the flavorDimensions property above--the first dimension has a higher
// priority than the second, and so on.
minApi24 {
 dimension "api"
 minSdkVersion '24'
 // To ensure the target device receives the version of the app with
 // the highest compatible API level, assign version codes in increasing
 // value with API level. To learn more about assigning version codes to
 // support app updates and uploading to Google Play, read Multiple APK Support
 versionCode 30000 + android.defaultConfig.versionCode
 versionNameSuffix "-minApi24"
 ...
}
minApi23 {
 dimension "api"
 minSdkVersion '23'
 versionCode 20000 + android.defaultConfig.versionCode
 versionNameSuffix "-minApi23"
 ...
}
minApi21 {
 dimension "api"
 minSdkVersion '21'
 versionCode 10000 + android.defaultConfig.versionCode
 versionNameSuffix "-minApi21"
 ...
}
}

好了,这就是官方给出的gradle多渠道打包的方式

总结

以上所述是小编给大家介绍的Android studio 3.0上进行多渠道打包遇到的问题小结(超简洁版)网站的支持!

来源:http://blog.csdn.net/small_technical/article/details/72782671

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com