Android studio 3.0上进行多渠道打包遇到的问题
程序员文章站
2022-04-06 23:34:58
Android studio 3.0上进行多渠道打包遇到的问题。
Error:All flavors must now belong to a named flavor d...
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://blog.csdn.net/mynameishuangshuai/article/details/51783303
解决问题参考:https://*.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多渠道打包的方式。
下一篇: 前端性能优化之路——图片篇。