将外部库嵌入Android build.xml

时间:2014-07-14 08:54:19

标签: android ant dependencies libraries

我想使用ant构建一个Android应用程序(由android工具生成)。该应用程序需要可用作.jar的外部库。由于其他(相关)项目需要相同的库,我想将它们存储在/ libs之外的公共位置(假设为“../somewhere/else/something.jar”)。该应用程序还需要一个共享对象,该对象存储在/libs/armeabi/libSomething.so中(由ndk-build复制)。

有没有人知道我必须如何配置我的东西以将../somewhere/else/something.jar中的类嵌入到我的.APK中?

我在ant.properties中尝试了各种方法

...
java.compiler.classpath=../somewhere/else/something.jar
jar.libs.dir=libs:../somewhere/else
external.libs.dir=libs:../../ext/android/tomtom

和build.xml

...
<package-helper>
    <extra-jars>
        <jarfile path="../somewhere/else/something.jar" />
    </extra-jars>
</package-helper>
...
<!-- From http://stackoverflow.com/questions/3217643/how-to-add-external-jar-libraries-to-an-android-project-from-the-command-line -->
<target name="-pre-compile">
    <!-- HACK to add the android-support-v4.jar to the classpath directly from the SDK -->

    <echo>ORIGINAL jars.path : ${toString:project.all.jars.path}</echo>
    <path id="project.all.jars.path.hacked">
        <path path="${toString:project.all.jars.path}"/>
        <!-- <path path="${sdk.dir}/extras/android/support/v4/android-support-v4.jar"/> -->
    </path>

    <path id="project.all.jars.path">
        <path path="${toString:project.all.jars.path.hacked}"/>
    </path>
<echo>HACKED jars.path : ${toString:project.all.jars.path}</echo>

以上提到的方式都不起作用...... :(

有人有解决方案吗?我现在正在寻找和尝试几个小时,我无法想象没有人遇到过同样的问题。

感谢您的帮助!!!

0 个答案:

没有答案