您的位置:首页 > 移动开发 > Android开发

构建Android自动编译持续集成系统

2014-03-14 14:21 405 查看

1. 安装

1.1 安装JDK

      sudo apt-get install sun-java6-jdk

1.2 安装Ant

      sudo apt-get install ant-optional

1.3 安装Hudson

      sudo apt-get upgrade 

      wget -O /tmp/key http://hudson-ci.org/debian/hudson-ci.org.key

      sudo apt-key add /tmp/key

      wget -O /tmp/hudson.deb http://hudson-ci.org/latest/debian/hudson.deb

      sudo dpkg --install /tmp/hudson.deb

1.4 安装Android SDK

      http://androidappdocs.appspot.com/sdk/index.html

2. Project配置

2.1 build.xml

http://androidappdocs.appspot.com/guide/developing/other-ide.html

按照官方的做法,使用自动生成的build文件就可以了。



<?xml version="1.0" encoding="UTF-8"?>
<project name="test-android">

<!-- The local.properties file is created and updated by the 'android' tool.
It contains the path to the SDK. It should *NOT* be checked in in Version
Control Systems. -->
<property file="local.properties" />

<!-- The build.properties file can be created by you and is never touched
by the 'android' tool. This is the place to change some of the default property values
used by the Ant rules.
Here are some properties you may want to change/update:

application.package
the name of your application package as defined in the manifest. Used by the
'uninstall' rule.
source.dir
the name of the source directory. Default is 'src'.
out.dir
the name of the output directory. Default is 'bin'.

Properties related to the SDK location or the project target should be updated
using the 'android' tool with the 'update' action.

This file is an integral part of the build system for your application and
should be checked in in Version Control Systems.

-->
<property file="build.properties" />

<!-- The default.properties file is created and updated by the 'android' tool, as well
as ADT.
This file is an integral part of the build system for your application and
should be checked in in Version Control Systems. -->
<property file="default.properties" />

<!-- Custom Android task to deal with the project target, and import the proper rules.
This requires ant 1.6.0 or above. -->
<path id="android.antlibs">
<pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
<pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
<pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
<pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
<pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
</path>

<taskdef name="setup" classname="com.android.ant.SetupTask" classpathref="android.antlibs" />

<!-- Execute the Android Setup task that will setup some properties specific to the target,
and import the build rules files.

The rules file is imported from
<SDK>/platforms/<target_platform>/templates/android_rules.xml

To customize some build steps for your project:
- copy the content of the main node <project> from android_rules.xml
- paste it in this build.xml below the <setup /> task.
- disable the import by changing the setup task below to <setup import="false" />

This will ensure that the properties are setup correctly but that your customized
build steps are used.
-->
<setup />

</project>


 

2.2 local.properties

这个配置文件定义了Android SDK的位置

sdk.dir=${tool.android.sdk}

2.3 build.properties

这个文件里面定义了App的Package,以及生成App签名必须用的一些配置。

application.package=test.android

key.store=../test-android.keystore

key.alias=test-android

key.store.password=password

key.alias.password=password

3. Hudson配置

3.1 System Configuration

系统配置很简单,只需要配置JDK、Ant的位置就可以了。

比较有用的还有一项:E-mail Notification,如果你需要在build失败发送邮件的话,那么需要配置这一项。

3.2 Job Configuration

3.2.1 Source Code Management
1. 选择Subversion,并且设置好SVN的地址以及用户名、密码

2. 把Use update和Revert勾选上

3.2.2 Build Triggers
1. 勾选上Build Periodically,然后设置自动Build的时机,这里语法跟cron的语法是一样的。

例如:0 2 * * 1-6

2. 勾选上Poll SCM,设置每隔多长时间检测SVN的变更。

例如:0,15,30,45 9-23 * * 1-5

3.2.3 Build
Step1:删除上次编译的文件

rm –f test-android.keystore

rm –f –R ./test-android/gen

rm –f –R ./test-android/bin

Step2:生成Keystore

http://androidappdocs.appspot.com/guide/publishing/app-signing.html

例如:keytool -genkey -v -alias test-android -keyalg RSA -keysize 2048 -dname 'CN=xxx, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xx' -validity 10000 -keypass password -storepass password -keystore 'test-android.keystore'

Step3:Invoke Ant

设置Targets:release –Dsdk.dir=$your-sdk-dir

例如:release –Dsdk.dir=/home/build/android-sdk-linux

3.2.3 Post-build Actions
1. 勾选上Archive the artifacts,设置Files to archive:test-android/bin/test-android-release.apk

2. 勾选上E-mail Notification,可以设置发送邮件的对象和时机

 

经过以上步骤的设置,大功告成了。

专业就是这么简单!!!
http://archive.cnblogs.com/a/1898160/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: