jenkins和android生成

我试图自动化使用Jenkins的Android构build过程

我正在使用以下网站来实现此链接到网站

我成功地能够在我自己的机器上构build它。 最初我得到错误,说没有findbuild.xml文件(使用ant构build需要这个文件)。 所以我执行“android更新项目”。 所以它会自动为ant生成所有必要的文件。

现在我的问题开始,当我试图把我的回购远程服务器,并试图从另一台机器build立。 它给出的错误是sdk.dir不正确。 当我分析项目文件夹ther是一个名为local.properties文件,其中包含我的第一台机器的SDKpath,这是错误的其他机器。 所以我把这个文件添加到gitignore。 现在该文件没有跟踪,因此构build失败。

那么有没有什么办法可以自动生成ant在从远程回购克隆项目后ant所需的文件?

Solutions Collecting From Web of "jenkins和android生成"

从你链接到的网站,他们精确地解释如何configurationsdk.dir:

configuration环境

当jenkins用Ant构build你的项目时,它需要知道你的android sdk文件夹在哪里。 为此,请在刚刚configuration的Ant目标构build步骤上单击“高级”,然后将以下variables添加到“属性”字段。 sdk.dir = /select/ Android的SDK-LINUX /

不要忘记将variables的值replace为构build服务器上安装Android SDK的正确位置。

作业configuration完成。 点击保存。 时间来testing你的构build。

我们也使用Jenkins构buildandroid应用程序,并且还需要编辑local.properties。

在我的情况下,我已经通过Jenkins构build自己的文件更新了SDK的path。 在构build开始之前。

您可以在Linux上使用简单的sed命令,或者在窗口上回显内容(覆盖内容)。

示例stream程:

  1. SCM – 获取来源
  2. 编辑local.properties(如前所述)
  3. 运行ant构build

注意 – 如果你正在使用“Invoke Ant”,你应该先添加一个“Execute Shell”步骤来处理local.properties的编辑。

我希望这有帮助。

是。

如果您为Jenkins安装Android模拟器插件 ,则可以将“创buildAndroid构build文件”构build步骤添加到您的作业中。

这会自动检测Jenkins工作区中的任何Android应用程序,testing或库项目,并根据需要添加/更新build.xml和local.properties文件。

或者,如果您正在使用Ant构build步骤,并且已经在存储库中包含build.xml,则可以通过在“高级Ant”选项中自己指定sdk.dir属性来忽略创buildlocal.properties文件的需要。

你可以在jenkins中configurationant属性。 所以你可以通过jenkins作业configuration来指定你的local.properties所有属性。

当然,你将不得不在jenkins构build服务器上安装android sdk。

请阅读这个关于如何设置与jenkinsant属性的信息。

将local.properties放在源代码pipe理之下不是一个好习惯,因为多个开发人员和configuration项将为这些属性设置不同的值。

您可以将jenkins工作区文件夹中的local.properties文件编辑为正确的sdkpath

我想你想添加构build步骤"Create Android build files"到您的configuration。 把它放在antbuild造之前。 这将调用android update projectandroid update lib-project 。 确保你使用相对path在project.properties中引用了你的库依赖项。 喜欢这个:

 # Project target. target=Google Inc.:Google APIs:19 android.library.reference.1=../external-libs/google-play-services_lib android.library.reference.2=../external-libs/android-support-v7-appcompat 

添加构建步骤 - 创建Android构建文件