Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:使用ANT从项目文件夹外编译APK和公共库_Java_Android_Linux_Ant_Apk - Fatal编程技术网

Java Android:使用ANT从项目文件夹外编译APK和公共库

Java Android:使用ANT从项目文件夹外编译APK和公共库,java,android,linux,ant,apk,Java,Android,Linux,Ant,Apk,我正在运行一个web服务,允许用户创建简单的android应用程序。我正在使用ANT自动构建APK: 创建项目文件夹(eclipse样式) 将libs(ad-sdk)复制到libs文件夹 跑蚂蚁 问题是,即使所有应用程序的LIB都是相同的,但它们都会为每个应用程序预先编制索引,并且构建过程所需的时间远远超过需要的时间。我知道这是我现在设置的正常行为 我想做的是将所有lib保存在服务器上的一个公共文件夹中,并告诉ant使用这些lib,以防止每个应用程序都发生预索引过程 我不确定在ant.prope

我正在运行一个web服务,允许用户创建简单的android应用程序。我正在使用ANT自动构建APK:

  • 创建项目文件夹(eclipse样式)
  • 将libs(ad-sdk)复制到libs文件夹
  • 跑蚂蚁
  • 问题是,即使所有应用程序的LIB都是相同的,但它们都会为每个应用程序预先编制索引,并且构建过程所需的时间远远超过需要的时间。我知道这是我现在设置的正常行为

    我想做的是将所有lib保存在服务器上的一个公共文件夹中,并告诉ant使用这些lib,以防止每个应用程序都发生预索引过程

    我不确定在ant.properties或build.xml中使用什么设置来实现这一点


    谢谢

    您可以使用lib开关指定库
    -lib指定搜索jar和类的路径。或者将lib放在标准目录中。 路径目录中的任何JAR或类都将添加到Ant的类加载器中。JAR添加到类路径的顺序如下: *.-lib jar的顺序由命令行上的-lib元素指定 *来自${user.home}/.ant/lib的.jars(除非设置了-nouserlib)
    *.ANT_HOME/lib的罐子首先是一个小小的改进;将共享库放在您想要的地方,然后,对于需要一个或多个库的每个Android项目,只需在项目库/目录中创建一个指向所需库的符号链接。您可以节省空间和时间,特别是当Web服务器被许多用户使用时

    为了避免多重索引,您可以尝试为libs构建一个独立的.dex文件,并使用类加载器在应用程序内部友好地使用它。
    你可以从这一点开始:

    我不知道你想要什么是可能的。话虽如此,我还是选择Gradle,因为使用它比使用Ant更有可能实现这一点。