开头总要说点什么

话说Android studio升级到3.0后,发现打出来的渠道包在7.0的系统上无法安装,于是查了下资料,发现是V2签名的问题,于是开始着手配置V2签名的渠道包配置,
如果不需要V2签名的同学可以在gradle里这样设置

 android {    ...    defaultConfig { ... }    signingConfigs {      config{        ...        v2SigningEnabled false   //禁用V2签名      }    }  }

准备

第一步当然是去github上了解Walle相关信息了

github项目地址


第二步:参照 README.md配置依赖
注意,你的项目必须签名,不然会出现如下错误

Error:Plugin requires 'APK Signature Scheme v2 Enabled' for release.

在位于项目的根目录 build.gradle 文件中添加Walle Gradle插件的依赖, 如下:

buildscript {    dependencies {        classpath 'com.meituan.android.walle:plugin:1.1.3'    }}

并在当前App的 build.gradle 文件中apply这个插件,并添加上用于读取渠道号的AAR

apply plugin: 'walle'dependencies {    compile 'com.meituan.android.walle:library:1.1.3'}

添加完后,重新构建一下build,然后配置如下插件

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.txt文件,写入渠道名,例如:
meituan # 美团
samsungapps #三星
hiapk
anzhi
xiaomi # 小米

·#为注释,不会写入渠道。当然文件也可以建在别处,只要路径,名称和walle{}里的channelFile的配置一样

下一步,打开Terminal,在AS的下方

输入指令:gradlew clean assembleReleaseChannels 即可生成所有的渠道包,如果只需要生成一个渠道,可以输入gradlew clean assembleReleaseChannels -PchannelList=渠道名 多个渠道用逗号隔开

如果出现“不是内部或外部命令,也不是可运行程序或批处理文件”这种错误,可以参考这篇博文: Android Studio Terminal 不是内部或外部命令,也不是可运行程序或批处理文件

一般两三分钟就构建完成了,这时,依次打开app–>build–>outputs–>channels就能看到我们打的渠道包了。

项目渠道获取

获取渠道可以通过下面的代码获取:
String channel = WalleChannelReader.getChannel(this.getApplicationContext());

到这里,我们的渠道包就生成了,最后,如果还有疑问的同学可以下载我的demo进行参考:

V2Channels

更多相关文章

  1. Android(安卓)提高显示布局文件的性能[Lesson 2 - 使用include标
  2. Android(安卓)AppLink功能实现,原理和干货,包教会
  3. Android通过ant脚本打包带Library project的方法
  4. 深入浅出Android(安卓)Gradle构建系统 (三:build task)
  5. 在android应用中使用luasocket
  6. Android自定义进度条颜色
  7. Android里webviewActivity一般功能实现
  8. Android阅读源码的几种方法
  9. Android(安卓)实现阅读pdf格式的文件和android 7.0以上版本出现F

随机推荐

  1. 友盟2013年上半年数据报告:与开发者相关的
  2. Android画图之Matrix初识
  3. 最美应用-从Android研发工程师的角度之[最
  4. Android(安卓)Studio多渠道打包
  5. 强悍的跨平台开源多媒体中心XBMC介绍
  6. 已上线运营的斗地主APP项目源码(Android)
  7. Android基于IIS的APK下载(三)用JSON传输
  8. android的Thread、Runnable、Asyntask的
  9. 适配android P
  10. 针对Android(安卓)模拟器启动慢的问题,长