Jenkins配置脚本打渠道包
1.Jenkins环境搭建博客;http://my.oschina.net/u/930967/blog/2990582.生成build.xml方法:sdk/tools目录下输入命令行:android update project -p3.工程根目录下创建ant.properties文件key.store = key文件存放路径key.alias = key的别名key
·
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1.Jenkins环境搭建博客;http://my.oschina.net/u/930967/blog/299058</span>
2.生成build.xml方法:sdk/tools目录下输入命令行:android update project -p <工程目录>
3.工程根目录下创建ant.properties文件
key.store = key文件存放路径 key.alias = key的别名 key.store.password = key密码 key.alias.password = 别名密码
4.工程根目录下创建build_channels.xmll文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="TheTen" default="build">
<import file="build.xml" />
<!-- Packages the application. -->
<target name="-just-package" depends="-package-resources">
<package-helper />
</target>
<target name="build_one" depends="-set-mode-check, -set-release-mode, -release-obfuscation-check, -setup, -build-setup, -just-package, -release-prompt-for-password, -release-nosign, -release-sign" />
<target name="build" depends="clean, release">
<sequential>
<echo>Start build channels</echo>
<antcall target="build_one"/>
</sequential>
</target>
</project>
脚本中去掉编译和混淆的部分,简化打包流程,节省时间,打一个包5秒左右。
5.工程根目录下创建custom_rules.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules" default="deploy">
<import file="build_channels.xml" />
<!-- 循环打包使用ant-contrib-1.0b3.jar -->
<taskdef resource="net/sf/antcontrib/antcontrib.properties" >
<classpath>
<pathelement location="ant-contrib-1.0b3.jar" />
</classpath>
</taskdef>
<target name="deploy" >
<!-- 先执行一次release打包,执行编译和混淆。后面的操作只是改变渠道名。简化打包流程 -->
<antcall target="release" />
<foreach
delimiter=","
list="${market_channels}"
param="channel"
target="modify_manifest" >
</foreach>
</target>
<!--此处为替换AndroidManifest.xml中的渠道名,需要注意的是使用正则表达式一定要与AndroidManifest.xml中渠道名的格式一致否则替换不成功 -->
<target name="modify_manifest" >
<replaceregexp flags="g" byline="false" encoding="UTF-8">
<regexp pattern="meta-data(.*?)\n(.*?)android:name="CHANNEL"(.*?)\n(.*?)android:value="(.*)"" />
<substitution expression="meta-data${line.separator}android:name="CHANNEL"${line.separator}android:value="${channel}"" />
<fileset
dir="bin\"
includes="AndroidManifest.xml" />
</replaceregexp>
<!-- 创建qudao目录用于专门存放渠道包 -->
<mkdir dir="qudao"/>
<property
name="out.final.file"
location="qudao\1.1.2_${channel}.apk" />
<!-- 执行打包 -->
<antcall target="build_one" />
</target>
</project>
6.工程根目录下创建local.properties.xml
market_channels=91,zhushou,xiaomi 渠道名以逗号隔开
到此为止打渠道包所需的脚本都已经完成,下面是在Jenkins中如何进行配置。
7.配置需要执行的脚本和target
8.配置渠道名的输入,参数名是local.properties中的参数
9.构建时选择Build with Parameters
更多推荐
已为社区贡献1条内容
所有评论(0)