Android studio 3.0上进行多渠道打包遇到的问题小结(超简洁版)
Error:Allflavorsmustnowbelongtoanamedflavordimension.Theflavor'xiaomi'isnotassignedtoaflavordimension.Learnmoreathttps://d.android.com/r/tools/flavorDimensions-missing-error-message.html
Androidstudio3.0上进行多渠道打包时编译时出现这个错误
多渠道打包参考:https://www.nhooo.com/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
根据官网说法:
Youmustassigneachproductflavoryouconfiguretooneoftheflavordimensions.
你必须指定一种flavordimensions
voidflavorDimensions(String...dimensions)
flavorDimensions后面可以添加多个不同类型的参数例如:
flavorDimensions"api","mode"
接下来的使用对应起来就好了:
productFlavors{
demo{
//Assignsthisproductflavortothe"mode"flavordimension.
dimension"mode"
...
}
full{
dimension"mode"
...
}
//Configurationsinthe"api"productflavorsoverridethosein"mode"
//flavorsandthedefaultConfig{}block.Gradledeterminesthepriority
//betweenflavordimensionsbasedontheorderinwhichtheyappearnext
//totheflavorDimensionspropertyabove--thefirstdimensionhasahigher
//prioritythanthesecond,andsoon.
minApi24{
dimension"api"
minSdkVersion'24'
//Toensurethetargetdevicereceivestheversionoftheappwith
//thehighestcompatibleAPIlevel,assignversioncodesinincreasing
//valuewithAPIlevel.Tolearnmoreaboutassigningversioncodesto
//supportappupdatesanduploadingtoGooglePlay,readMultipleAPKSupport
versionCode30000+android.defaultConfig.versionCode
versionNameSuffix"-minApi24"
...
}
minApi23{
dimension"api"
minSdkVersion'23'
versionCode20000+android.defaultConfig.versionCode
versionNameSuffix"-minApi23"
...
}
minApi21{
dimension"api"
minSdkVersion'21'
versionCode10000+android.defaultConfig.versionCode
versionNameSuffix"-minApi21"
...
}
}
好了,这就是官方给出的gradle多渠道打包的方式
总结
以上所述是小编给大家介绍的Androidstudio3.0上进行多渠道打包遇到的问题小结(超简洁版),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!