在eclipse中每次构建后运行批处理文件

时间:2011-11-18 11:24:25

标签: android eclipse

我有很多项目可以同时处理。

每次我构建并运行其中一个时,apk就像往常一样位于bin文件夹中。

如果我想将这个apk复制到项目之外的其他文件夹,我必须手动完成。

我创建了一个批处理文件,将我所有项目的apk文件复制到所需的位置。


有没有办法将bin文件夹的输出位置更改为项目外的某个位置,或者更优选 在每次构建后运行批处理文件


注意

我在ADT中使用eclipse。我试图添加一个执行批处理文件的构建器。但是,运行批处理文件时,尚未生成apk文件。我在构建器中尝试了所有选项组合以及所有可能的构建器序列。

2 个答案:

答案 0 :(得分:5)

如果您在完善构建时使用Eclipse感到高兴,那么切换到最终构建的命令行,然后使用Ant,只需很少的努力或配置就可以轻松获得您想要的内容

<强>假设

1)您的源代码位于Android工作区中,最终会有两组二进制文件 - 一组由Eclipse生成,另一组由Ant生成,最终将在工作区外部设置为属性文件

2)您使用的是SDK14或15(Ant已更改为14)

3)你已经安装了Ant并且在你的路径中 - 你需要拥有Ant 1.8.2 - 这不是Eclipse使用的内部版本,你可能必须得到它来自Apache网站,它易于安装

<强>步骤

1)按照http://developer.android.com/guide/developing/projects/projects-cmdline.html

中的说明从命令行创建示例项目

例如我用过: android create project --target 8 --name Sample15App --path c:\ dev \ projects \ samples \ Sample15 --activity Sample15Activity --package com.me.samplefifteen

这将生成一个目录和一些文件,稍后您将在项目中将其用作模板

2)在Eclipse的工作区中创建一个示例项目,我在我的一个工作区中创建了EclipseSample

3)将以下文件从Sample15App复制到EclipseSample项目的根目录:

的build.xml ant.properties local.properties

4)编辑ant.properties(最初为空)就像这个例子:

projectname=EclipseSample
workspace.dir=/dev/projects/EclipseIndigo/AndroidWorkTwo
base.dir=${workspace.dir}/${projectname}
outbasebase.dir=/dev/projects/AntBuilds
outbase.dir=${outbasebase.dir}/${projectname}
ant.project.name=${projectname}
out.dir=${outbase.dir}/bin
layout.dir=${base.dir}/res/layout
source.dir=${base.dir}/src

从中可以看出我的工作区是 / dev / projects / EclipseIndigo / AndroidWorkTwo

此下的eclipse项目位于 EclipseSample

目录中

我希望我的apks最终进入 / dev / projects / AntBuilds / EclipseSample (即outbasebase与projectname -so连接,对于其他项目,您可以使用非常相似的ant.properties文件只需更改projectname )

5)重要 - 编辑build.xml

注释掉或删除该行:

<project name="Sample15App" default="help">

仅用

替换它
<project>

这只是意味着它将从ant.properties而不是build.xml中获取项目名称,您可以在所有项目中使用相同的build.xml,只需要更改ant.properties

6)尝试使用&#34; ant debug&#34; 应在/ dev / projects / AntBuilds / EclipseSample

下构建调试apks

7)最后如果你想自动化发布版本(自动签名和密码输入)添加

等行
key.store.password=YourPassword
key.alias.password=YourPassword
key.store=c:/users/you/yourrelease-key.keystore
key.alias=release_alias

到ant.properties然后你只需输入&#34; ant release&#34;

如果您不添加它们,它会告诉您手动签名,因为在&#39; build.properties&#39;中找不到密码条目。 ( - 这就是之前在SDK 14之前调用的ant.properties,他们应该更正这个!)

答案 1 :(得分:4)

您可以使用Project Properties->Builders->New...为项目添加新的构建器。

执行此操作的一种方法是创建一个ant build(复制文件),或者只是一个普通的旧脚本或批处理文件。