2011-11-18 56 views
6

我有许多项目可以同时处理。在eclipse中每次构建后运行批处理文件

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

如果我想将此apk复制到项目之外的其他文件夹,我必须手动执行此操作。

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


有没有办法改变的bin文件夹的输出位置到某处项目之外,或更优选每次运行后的批处理文件建立


注意

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

+0

您正在使用'Makefile'吗?如果是这样,它是什么样子?调整大多数'Makefile's为这个任务很容易,无论如何... – sarnold

+0

我使用android插件进行eclipse吗?这真的很尴尬,但我不知道这一点。 –

回答

5

如果您在使用Eclipse的同时完善构建,然后切换到最终构建的命令行,然后使用Ant,只需很少的努力或配置即可轻松获得所需内容。

假设

1)你的源代码是在Android的工作区,你将最终获得两套二进制文件 - 一个由Eclipse的制作,由蚂蚁提出的其他最终将工作区的外由属性中设置文件

2)您使用SDK14或15(蚂蚁在14改变的)

3)你有一个您需要安装Ant 1.8.2--这不是Eclipse使用的内部版本,您可能需要从Apache站点获取它,它易于安装

步骤

1)建立从命令行的示例项目如http://developer.android.com/guide/developing/projects/projects-cmdline.html

描述例如我使用: 机器人创建项目--target 8 --name Sample15App --path C:\ dev的 \ projects \ samples \ Sample15 --activity Sample15Activity --package com.me.samplefifteen

这将建立一个目录,稍后您将用作为模板在您的项目

2)在您的工作区在Eclipse做一个样本项目的一些文件,我在工作区中的一种制成EclipseSample

的build.xml ant.properties L:

3)复制下面从Sample15App您EclipseSample项目的根文件ocal.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 /项目/ EclipseIndigo/AndroidWorkTwo

下这个Eclipse项目是在目录EclipseSample

我希望我的APK在的/ dev /项目结束/ AntBuilds/EclipseSample(即outbasebase与项目名称 - 所以,用于其他项目,你可以使用一个非常类似的ant.properties文件只是改变项目名称级联)

5)重要事项 - 编辑的build.xml

注释掉或删除行:

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

只有

<project> 
更换

这只是意味着它将从ant.properties拿起项目名称,而不是build.xml文件,您可以使用在所有的项目相同的build.xml,只需要ant.properties改变

6)尝试与“蚁调试”应该构建下的/ dev /项目调试的apk/AntBuilds/EclipseSample

7)最后,如果你要自动运行的发布版本(签名和自动输入密码)加行像

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

到ant.properties,然后你只需要输入“蚁发布”

如果不添加它们,它会告诉你手动登录和无密码的条目是在“build.properties发现'( - 这是ant.properties过去称为SDK 14之前的版本,它们应该已经纠正了这个问题!)

+0

感谢您的时间+1我会尽快尝试 –

4

您可以使用Project Properties->Builders->New...将新建筑工程添加到您的项目中。

这样做的一种方法是创建一个ant build(它复制文件),或者只是一个普通的旧脚本或批处理文件。

+0

如何在构建完成后使批处理文件运行?恰好在创建bin文件夹中的apk文件之后 –

+0

您可以使用“构建器”页面上的向上和向下按钮来上下移动构建器。如果您希望在构建之后发生这种情况,请在所有其他构建器之后将其向下移动。 –

+0

请随身携带。我添加了一个新的生成器。将'位置'设置为批处理文件位置。现在,在'Build Options'中,有一个选项叫做“运行构建器”,我至少应该选择其中一个复选框:(干净后) - (在手动构建期间) - (在自动构建期间) - 干净)。他们都没有为我工作,并且该批处理文件给出了一个错误,该文件未找到,因此它正在试图在创建文件之前进行复制。还有一件事,似乎该文件仅在“检查完干净”后才执行。 –

相关问题