美团walle官网:https://github.com/Meituan-Dianping/walle
(1)在你对应主module的build.gradle的android标签内添加相应的属性(配置多渠道信息)
productFlavors {    //开发环境    develop {        buildConfigField "String", "ENV_TYPE", "\"1\""        applicationId 'xxx'        manifestPlaceholders = [                app_name     : "开发",        ]    }    //测试环境    check {        buildConfigField "String", "ENV_TYPE", "\"2\""        applicationId 'xxx'        manifestPlaceholders = [                app_name     : "测试",        ]    }    //生产环境    product {        buildConfigField "String", "ENV_TYPE", "\"3\""        applicationId 'xxx'        manifestPlaceholders = [                app_name     : "xxx",        ]    }}
(2)配置AndroidManifest.xml中的application label,对应上面的渠道app_name:
上面你配置了app_name 如果你不配置相应的xml是不会生效的!android:label="${app_name}"
(3)配置项目下的build.gradle:
buildscript {    ext.kotlin_version = '1.3.30'    repositories {        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}        maven { url 'https://jitpack.io'}        google()        jcenter()    }    dependencies {        ...        classpath 'com.meituan.android.walle:plugin:1.1.6'    }}allprojects {    repositories {        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}        maven { url 'https://jitpack.io'}        google()        jcenter()    }}
(4)配置app下的build.gradle 添加:

         //先使用android studio 生成一个 app.jks签名文件

//解决错误:All flavors must now belong to a named flavor dimension.    defaultConfig {        ...        flavorDimensions "versionCode"    }//配置签名:(signingConfigs一定要在buildTypes之前,不然找不到)    signingConfigs {        debug{            keyAlias 'motian'            keyPassword '123456'            storeFile file('../walle.jks')            storePassword '123456'        }        release {            keyAlias 'motian'            keyPassword '123456'            storeFile file('../walle.jks')            storePassword '123456'        }    }    buildTypes {        release {            minifyEnabled false            signingConfig signingConfigs.release            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }        debug {            minifyEnabled false            signingConfig signingConfigs.release            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }//添加依赖:    //添加相应渠道的aar    apply plugin: 'walle'    /*多渠道的库*/    implementation 'com.meituan.android.walle:library:1.1.6'//配置插件walle,打包后的文件位置和信息等:    walle {        // 指定渠道包的输出路径        apkOutputFolder = new File("${project.buildDir}/outputs/channels");        // 定制渠道包的APK的文件名称        apkFileNameFormat = '${appName}-${packageName}-${channel}-${buildType}-v${versionName}-${versionCode}-${buildTime}.apk';        // 渠道配置文件        channelFile = new File("${project.getProjectDir()}/channel")    }//在app下创建创建channel文件,添加:    Qh360 #360    Yyb #应用宝    Wdj #豌豆荚    Lenovo #联想    Xiaomi #小米    Huawei #华为    Meizhu #魅族
(5)然后去打包,就可以获得对应的包
或者:在android studio 右侧 Gradle下的项目下的package assembleDevelopDebugChannels就可以在 build/outputs/channels 下找到生成的渠道包

Android 多版本多渠道打包_第1张图片

demo

更多相关文章

  1. Android 开发环境问题解决方案集
  2. Ubuntu12.04 安装ADB调试环境
  3. 整理android环境离线安装搭建方法——支持android 2.3.3和androi
  4. Mac OSX Android 开发环境 模拟器报错
  5. App应用之提交到各大市场渠道
  6. Cocos2dx 2.0.2版本Android环境出错:Cannot find module with tag
  7. (2) 搭建 Android 系统开发环境

随机推荐

  1. Android的AlertDialog详解
  2. Android输入框自动提示
  3. Compile android NDK without Eclipse
  4. android activity设置全屏以及Android获
  5. Android系统启动之Zygote
  6. Android学习笔记3之基本组件API
  7. Android客户端、服务端、数据库开发流程
  8. 解决android下创建avd设备不成功.txt
  9. android--RelativeLayout布局的一些理解
  10. android 布局文件中xmlns:android="http: