手把手教你使用gradle mulchannel插件,进行多渠道打包
Posted ihrthk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手把手教你使用gradle mulchannel插件,进行多渠道打包相关的知识,希望对你有一定的参考价值。
手把手教你使用gradle mulchannel插件,进行多渠道打包
开头声明:
这个多渠道打包插件,是使用命令行来运行的。不依赖任何IDE的,你的开发环境是Eclipse还有android Studio都是可以的。不需要APK的源代码,仅仅需要一个打包好的APK就可以。(一般是正式版本的并且已经签名和混淆的APK文件)。速度大约是:Rate = 10apk/20sec(300apk/10min)
开源地址:https://github.com/ihrthk/android-gradle-mulchannel-plugin
参考地址:http://tech.meituan.com/mt-apk-packaging.html
检查确认你的计算机是否安装gradle
1.按住Win+R键打开运行界面
2.点击确认,打开终端
3.在任意目录下输入gradle
4.查看输入的信息
如果能正确显示gradle的帮助信息,说明机器上已经安装了gradle。这时,你可以跳过安装Gradle
,进行下一步。否则,你需要按照安装Gradle
一步一步操作,把Gradle安装到自己的计算机里。
注意:我这里显示的Gradle版本是2.7,要保证自己计算机安装的gradle是2.1以上才行。因为配置mulchannel插件的时候使用了plugins关键字,这个关键字是Gradle 2.1添加一种简单写法。代替了原来classpath和apply plguin两个关键字的用法。
安装Gradle
1.下载Gradle
打开gradle的官网gradle.org(由于现在正在从gradle.org,往gradle.com中迁移,以后官网会变成gradle.com,请大家注意)
找到并点击右上角的Download,推荐大家下载Complete distribution。这里包括二进制执行文件,源码,还有文档。
也可以直接使用浏览器打开https://services.gradle.org/distributions/gradle-2.10-all.zip进行下载
2.解压zip文件
解压gradle-2.10-all.zip文件,可以看到这里有一个bin目录
3.把bin目录添加到环境变量里
在我的桌面上的计算机,点击右键。
点击高级设置
在点击环境变量
在系统变量里面找到Path并打开
最后在bin目录添加到环境变量,就OK了。
4.检查时候安装成功
打开cmd,在任意目录下。执行gradle,看一下是否可以显示gradle的帮助信息。
配置脚本
1.新建一个build.gradle文件
找到那个要进行多渠道打包的APK文件,在其同级目录下建立一个build.gradle的文件。
2.配置构建脚本
打开build.gradle文件,输入配置的脚本。
buildscript
repositories
mavenLocal()
jcenter
url 'http://jcenter.bintray.com'
plugins
id "me.zhangls.mulchannel" version "0.0.2"
3.配置mulchanne插件的参数
打开build.gradle文件,接着写
mulchannel
//APK文件的路径,相对路径
inputFile = file('lite-cmxj-debug.apk')
//APK解压之后的目录,可选
tempDir = file('temp')
//多渠道APK输出之后的路径
outputDir = file('out')
//渠道号列表
channels = ["qihu360","baidu","yingyongbao","wandoujia","taobao","xiaomi","nearme","anzhuo","anzhi","meizu"]
执行脚本
1.打开cmd
2.切换到和build.gradle及apk同一目录下
3.执行gradle mulchannel
如何获取渠道号呢?
public static String getChannel(Context context)
ApplicationInfo appinfo = context.getApplicationInfo();
String sourceDir = appinfo.sourceDir;
String ret = "";
ZipFile zipfile = null;
try
zipfile = new ZipFile(sourceDir);
Enumeration<?> entries = zipfile.entries();
while (entries.hasMoreElements())
ZipEntry entry = ((ZipEntry) entries.nextElement());
String entryName = entry.getName();
if (entryName.startsWith("META-INF/mulchannel"))
ret = entryName;
break;
catch (IOException e)
e.printStackTrace();
finally
if (zipfile != null)
try
zipfile.close();
catch (IOException e)
e.printStackTrace();
String[] split = ret.split("_");
if (split != null && split.length >= 2)
return ret.substring(split[0].length() + 1);
else
return "";
以上是关于手把手教你使用gradle mulchannel插件,进行多渠道打包的主要内容,如果未能解决你的问题,请参考以下文章
Android探索之旅(第二十八篇)手把手一步步教你集成阿里热修复SopHix
手把手教你手写一个最简单的 Spring Boot Starter