我有很多项目可以同时处理。
每次我构建并运行其中一个时,apk就像往常一样位于bin文件夹中。
如果我想将这个apk复制到项目之外的其他文件夹,我必须手动完成。
我创建了一个批处理文件,将我所有项目的apk文件复制到所需的位置。
有没有办法将bin文件夹的输出位置更改为项目外的某个位置,或者更优选 在每次构建后运行批处理文件 ?
的注意 的
我在ADT中使用eclipse。我试图添加一个执行批处理文件的构建器。但是,运行批处理文件时,尚未生成apk文件。我在构建器中尝试了所有选项组合以及所有可能的构建器序列。
答案 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
下构建调试apks7)最后如果你想自动化发布版本(自动签名和密码输入)添加
等行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(复制文件),或者只是一个普通的旧脚本或批处理文件。