如何在公共目录(不是libs)中引用外部jar文件来使用ant构建android项目?

ice*_*eam 13 ant android jar build libs

我想构建几个使用ant引用相同jar文件的android项目.我不想将jar文件复制到项目中的每个libs目录(由于源控件树的设置方式).我这里找到答案说"将它们放在libs目录中",但这并没有解决这个问题.

所以问题是,如何配置我的android ant构建脚本来引用项目外部的单独目录中的公共jar(而不是"libs")?

Nic*_*ion 9

在sdk中,有蚂蚁文件tools/ant.在main_rules.xml,您可以找到以下代码部分:

<!-- Directory for the third party java libraries -->
<property name="jar.libs.dir" value="libs" />
<property name="jar.libs.absolute.dir" location="${jar.libs.dir}" />
<!-- create a path with all the jar files, from the main project and the
     libraries -->
<path id="jar.libs.ref">
    <fileset dir="${jar.libs.absolute.dir}" includes="*.jar" />
    <path refid="project.libraries.jars" />
</path>
Run Code Online (Sandbox Code Playgroud)

这就是ant构建代码决定从哪里获取jar的方式.您可以重载jar.libs.dirbuild.properties中的值,因为在本节之前读取了该值并且会使值重载.指出您打算使用的公共目录将执行您的建议.您可能需要使用它来使其按您想要的方式工作.

需要注意的是,我不确定这是否会对其他构建生命周期活动产生负面影响.


Ros*_*ick 7

看起来新的sdk工具使这更容易实现.我有一个主libs文件夹,我所有的android项目共享,我只是将其添加到ant.properties文件中,使其查找这些库的一个级别.

jar.libs.dir=../libs
Run Code Online (Sandbox Code Playgroud)