一键完成android从svn拉取代码编打包

记录一下这两天研究的东西-----在windows一键完成拉取svn上的安卓源代码并自动打包。

准备:ant打包工具,android sdk,以及ant拉取代码所依赖的一个jar包svnant.jar,放到ant目录下的lib目录下即可。

ant是apache的一个一个编译工具,我的版本是:apache-ant-1.9.4

sdk就不多介绍了。

我们安卓开发者通常情况下可能是在eclipse中完成打包,打一个包,打完了后万事大吉,但是又一些场景这种方式是不适合的,比如我要批量打包,或者有几十个甚至几百个项目要打包,这时显然无法再用原始的方式做了。

闲言少叙。我们下载到ant解压出来并把下面的bin目录设置成系统环境变量,这样我们在cmd窗口里就能使用ant了:

ant默认会找当前目录下的build.xml文件。如果要选择指定文件,可以使用ant -buildfile filename命令。

好。我们开始配置build.xml,build.xml主要做的事情就有两件:

1、从svn拉取代码;

2、编译拉取到的代码。

我们先看build.xml依赖的一个配置文件:build.properties

就是一些变量的配置。

应用信息,svn地址、svn用户名和密码,apk生成路径,最后我们在当前目录下的/product/apk目录下取包即可,最后一行是sdk的路径。

接下来看一下build.xml

<project name="test" basedir="." default="usage">default定义入口

	<property name="rootdir"		  value="."/>
<span style="white-space:pre">	</span><pre name="code" class="html"><span style="color:#ff0000;">svn拉取代码所需要的一些东西</span>

<property name="svnant.lib" value="E:\work\ant\apache-ant-1.9.4\lib" /> <property name="svnant.jar" value="${svnant.lib}/svnant.jar" /> <property name="svnClientAdapter.jar" value="${svnant.lib}/svnClientAdapter.jar" /> <property name="svnjavahl.jar"
value="${svnant.lib}/svnjavahl.jar" /> <property file="build.properties" />上面贴的那个文件 <loadproperties srcFile="project.properties" />安卓项目里自带的一个配置文件,拉取代码后自动拿到,也可以先放到当前目录下 <target name="usage">build运行的入口 <echo message="start build"/> <antcall target="checkout"
/>拉取代码下来 </target><path id="classpath"><fileset dir="${lib-dir}" includes="***.jar" /></path>


<span style="white-space:pre">	</span>svn配置信息
	<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" />
	<svnSetting id="svn.setting" svnkit="true" username="${svn.user}" password="${svn.password}"  javahl="false" />
<span style="white-space:pre">	</span>
	<target name="checkout">
		<svn refid="svn.setting">
			<export srcUrl="${urlRepos}" destPath="${rootdir}" force="true"/>配置svn地址用户名和密码
		</svn>
		<antcall target="prepare"/>进入准备阶段
	</target>

	<fail
        message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through an env var"
        unless="sdk.dir" />

    <import file="${sdk.dir}/tools/ant/build.xml" />

	<target name="prepare">准备编译,把bin目录删除,否则编译可能通不过。
		<delete dir="${rootdir}/bin"/>
		<antcall target="deploy" />开始编译
   </target>

    <target name="deploy">
        <antcall target="release" />打release包,这个release target在安卓sdk目录中的tools/ant/build.xml目录下

        <copy tofile="${gos.path}/MangoTravel_android.apk" >完了之后拷贝到目标目录下

            <fileset
                dir="${out.absolute.dir}/"
                includes="MangoTravel-release.apk" />
        </copy>
		<echo message="build finished"/>打包完成。
    </target>

</project>

嗯,就是这么简单,可以配合一个bat文件使用,bat里就写三个字符ant,以后双击就可以了,也可以在cmd中运行ant。

如果需要打多渠道包,则需要下载另外一个依赖jar包,ant-contrib-1.0b3.jar,放到ant的lib目录下,然后再build.xml中用foreach标签循环执行name为deploy的target即可,注意拷贝的时候把名字改成跟渠道相关的名字,否则自己都不知道那个包对应哪个渠道。

基本上就是这样。有可能在编译的时候会出一些意想不到的错误,但是基本上可以通过错误信息搞定,问题不大。比如我开始的时候就是混编的时候出错,后面发现是proguard版本太低,换一下后就搞定了。

时间: 2024-10-16 02:19:10

一键完成android从svn拉取代码编打包的相关文章

从SVN上拉取代码

1.先安装SVN,安装好之后在IDEA上进行配置,安装以及配置教程可以在网上找. 2.然后鼠标右键,选择SVN Checkout.弹出下下图,上面地址为拉取代码的SVN地址,下面为代码下载到本地的地址. 3.在idea中打开该项目即可,若想在IDEA拉取和提交代码,则需要进行版本控制的配置.如下图所示,选择VCS->Enable Version Controller Integration会 弹出一个界面如下下图,VNC的话选择Subversion.然后右上角就会出现如图所示的提交.即可进行代码

从gitlab上拉取代码并一键部署

一.gitlab安装 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库.它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找. 1.基础环境准备 [[email protected] ~]# yum install curl 

jenkins+gradle+Github拉取代码

走了误区,找了三个小时才解决 1)jenkins平台上打包是成功的,但就是没有生成apk文件,找了很久,目前发现在jenkins平台上集成是生成不了的, 用android studio打包可以,具体原因待考证 2)一直对jenkins比较陌生,今天折腾了下,在github上拉取代码,执行python代码成功:配置截图如下

解决git pull 命令失效,不能从远程服务器上拉取代码问题

用时候在用Git pull命令的时候不管用,拉取不下来远程分支上的代码,是因为本地分支和远程分支没有建立关联. 处理这种问题很简单就按照提示执行命令即可:git branch --set-upstream-to=origin/fixbug-2.9.8 fixbug-2.9.8 如果想保证这种情况不出现就在建立新分支推送到远程分支上的时候加上-u参数即可 git push -u origin feature- 解决git pull 命令失效,不能从远程服务器上拉取代码问题

android ListView上拉加载更多 下拉刷新功能实现(采用pull-to-refresh)

Android实现上拉加载更多功能以及下拉刷新功能, 采用了目前比较火的PullToRefresh,他是目前实现比较好的下拉刷新的类库. 目前他支持的控件有:ListView, ExpandableListView,GridView,WebView等. 下载地址:https://github.com/chrisbanes/Android-PullToRefresh 首先第一步当然是导入libriay到咱们的项目了,具体导入方式,这里不再赘述. 下面是个例子采用的是ListView,当然其余的和这

android 自定义控件之下拉刷新源码详解

下拉刷新 是请求网络数据中经常会用的一种功能. 实现步骤如下: 1.新建项目   PullToRefreshDemo,定义下拉显示的头部布局pull_to_refresh_refresh.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmln

Xamarin. Android实现下拉刷新功能

下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. Android中要实现一个好用的下拉刷新功能却不是很容易,在网上找了几个Xamarin.Android的下拉刷新控件,都不是很满意,所以想重新绑定一个java写的下拉刷新控件.在网上找了几个这样的开源库,通过对比发现android-pull-to-refresh实现的功能比较多,实现的效果也比较满意. Android-Pull-To-Refresh项目地址:http

android学习---下拉刷新组建

Google官方的下拉刷新组建 activity代码实现: /** * The SwipeRefreshLayout should be used whenever the user * can refresh the contents of a view via a vertical swipe gesture. * */public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListe

Android实现下拉导航选择菜单效果【转载地址:http://www.cnblogs.com/hanyonglu/archive/2012/07/31/2617488.html】

本文介绍在Android中如何实现下拉导航选择菜单效果.   关于下拉导航选择菜单效果在新闻客户端中用的比较多,当然也可以用在其他的项目中,这样可以很方便的选择更多的菜单.我们可以让我们的应用顶部有左右滑动或进行切换的导航菜单,也可以为了增强用户体验在应用中添加这样的下拉导航选择菜单效果. 关于它的实现原理,其实也是挺简单的,就是使用PopupWindow来进行展现,在显示时控制其高度并配置以相应的动画效果.在PopupWindow中我使用GridView来控制里面的菜单项,每个菜单项对应相应的