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

 更新时间:2017年11月01日 13:55:37   作者:small_technical  
这篇文章主要介绍了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上进行多渠道打包遇到的问题小结(超简洁版),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • android开发之蜂鸣提示音和震动提示的实现原理与参考代码

    android开发之蜂鸣提示音和震动提示的实现原理与参考代码

    蜂鸣提示音和震动提示此功能在手机使用中很实用,最近在读zxing项目,学到了不少东西;我们一起来看看他是怎么做的,感兴趣的朋友可以了解下哦
    2013-01-01
  • 解决android Listview的item中最外层Margin失效的问题

    解决android Listview的item中最外层Margin失效的问题

    下面小编就为大家带来一篇解决android Listview的item中最外层Margin失效的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android webview拦截H5的接口请求并返回处理好的数据代码示例

    Android webview拦截H5的接口请求并返回处理好的数据代码示例

    这篇文章主要给大家介绍了关于Android webview拦截H5的接口请求并返回处理好的数据的相关资料,通过WebView的shouldInterceptRequest方法,Android可以拦截并处理WebView中的H5网络请求,需要的朋友可以参考下
    2024-10-10
  • Flutter中go_router路由管理的使用指南

    Flutter中go_router路由管理的使用指南

    go_router 是一个 Flutter 的第三方路由插件,相比 Flutter 自带的路由,go_router 更加灵活,而且简单易用,下面小编就来和大家聊聊go_router的使用吧
    2023-08-08
  • Android使用SQLite数据库的示例

    Android使用SQLite数据库的示例

    本篇文章主要介绍了Android使用SQLite数据库的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Android的VSYNC机制和UI刷新流程示例详解

    Android的VSYNC机制和UI刷新流程示例详解

    这篇文章主要为大家介绍了Android的VSYNC机制和UI刷新流程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android 判断某个Activity 是否在前台运行的实例

    Android 判断某个Activity 是否在前台运行的实例

    下面小编就为大家分享一篇Android 判断某个Activity 是否在前台运行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 一文带你了解Flutter数据表格的使用

    一文带你了解Flutter数据表格的使用

    目前,越来越多的管理层(所谓的领导)都希望在手机端查看各种各样的数据报表,以达到随时随地关注经营业绩(监督干活)的目的。本篇我们就来介绍 Flutter 的数据表格的使用,希望对大家有所帮助
    2022-11-11
  • 详解App相互唤醒的几种方式

    详解App相互唤醒的几种方式

    这篇文章主要介绍了Android App相互唤醒的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Android ScrollView的顶部下拉和底部上拉回弹效果

    Android ScrollView的顶部下拉和底部上拉回弹效果

    本篇文章主要介绍了Android ScrollView的顶部下拉和底部上拉回弹效果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05

最新评论