1、AndroidManifest.xml文件中定义一个CHANNEL_NAME,打包的时候、这个值会用自己设定的渠道号替换            //在java代码中读取meta-data        /*ApplicationInfo appInfo = this.getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);            String channel=appInfo.metaData.get("CHANNEL_NAME")+"";*/    2、build.gradle配置    defaultConfig {        manifestPlaceholders = [CHANNEL_VALUE: "2000"]//这里2000是默认值    }        productFlavors {//设置不同的渠道值        xiaomi{            manifestPlaceholders = [MACHAT_CHANNEL_VALUE:'2001']        }        baidu{            manifestPlaceholders = [MACHAT_CHANNEL_VALUE:"2002"]        }        huawei {            manifestPlaceholders = [MACHAT_CHANNEL_VALUE:"2003"]        }        yingyongbao {            manifestPlaceholders = [MACHAT_CHANNEL_VALUE:"2004"]        }   }     //定制生成的apk的名字 ${defaultConfig.versionName}     applicationVariants.all { variant ->    variant.outputs.each { output ->        def outputFile = output.outputFile        if (outputFile != null && outputFile.name.endsWith('.apk')) {                def fileName =                 outputFile.name.replace(".apk", "-${defaultConfig.versionName}-"+releaseTime()                +".apk")//            output.outputFile = new File(outputFile.parent, fileName)        }    }    //这样得到的名字是test-xiaomi-release-1.4.2-201802061701.apk}def releaseTime() {//打包时间    return new Date().format("yyyyMMddHHmm", TimeZone.getDefault())}3、另外还有一种配置方式,这和方式2是等价的defaultConfig {        manifestPlaceholders = [CHANNEL_VALUE: "2000"]//这里2000是默认值} productFlavors {    "2001"{}   "2002"{}   "2003"{}   "2004"{}}productFlavors.all { flavor ->    flavor.manifestPlaceholders = [CHANNEL_VALUE: name]}       //定制生成的apk的名字 ${defaultConfig.versionName}     applicationVariants.all { variant ->    variant.outputs.each { output ->        def outputFile = output.outputFile        if (outputFile != null && outputFile.name.endsWith('.apk')) {                def fileName =                 outputFile.name.replace(".apk", "-${defaultConfig.versionName}-"+releaseTime()                +".apk")//            output.outputFile = new File(outputFile.parent, fileName)        }    }    //这样得到的名字是test-2001-release-1.4.2-201802061701.apk

studio 3.0以上的配置

    /*默认为2000    小米 2001    百度开发者平台 2002    华为 2003    应用宝 2004*/    flavorDimensions "default"    productFlavors {        '2001' { dimension "default" }        "2002" {dimension "default"}        "2003" {dimension "default"}        "2004" { dimension "default" }    }    productFlavors.all {        flavor -> flavor.manifestPlaceholders = [CHANNEL_VALUE: name]    }    android.applicationVariants.all { variant ->        variant.outputs.all {            outputFileName = "milu-${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"        }    }

更多相关文章

  1. Android面试题集合
  2. Android项目build.gradle多渠道&完整版
  3. android调用google地图
  4. 启动远程service的两种方式:显示和隐式
  5. 如何在mac book 上安装Android(安卓)studio 开发工具
  6. 谷歌全新操作系统Pigweed曝光,Android(安卓)11偷跑
  7. JIN学习一、Android使用已有C/C++代码、第三方SO库的方法
  8. Qt for android 在中英文不同的环境下自动识别更换APP和应用程序
  9. Android(安卓)访问 .net C#写的webservice

随机推荐

  1. Android(安卓)搜索不到蓝牙设备
  2. Android保持屏幕常亮的方法总结
  3. Android(安卓)Bundle类
  4. unity3d IL2CPP for android
  5. Android(安卓)studio配置NDK问题小结
  6. Android客户端Socket连接PC服务器端(加评
  7. Android中OptionMenu的使用
  8. Android(安卓)SQLite数据库异常: unable
  9. 元数据Meta Data
  10. Android中关于EditText不能取得值的问题