蚂蚁重建库项目每次(Ant rebuilding library projects every ti

2019-07-30 07:51发布

我有一个Android项目,其中包括两款Android库项目。

我使用的命令ant debug打造的项目,它需要大约1分20秒和。 我数有17秒用来编译第一款Android库项目和42秒用于编译第二款Android库项目。

由于这两个项目的依赖很少更新,这是没有必要每次都对它们进行编译。

我怎样才能避免蚂蚁编译两款Android库项目每个版本?

Answer 1:

添加dont.do.deps=1到您的local.properties (或通过该属性到Ant一些其他的方式)



Answer 2:

这是Android的图书馆项目是如何设计的,并假设目前的工作,它总是沿着间接地与主应用程序项目汇编编译,请参阅本官方开发者指南 :

然而,库项目不同于一个标准的Android应用程序项目中,你不能直接编译到它自己的apk和Android设备上运行。 同样的,你不能将库项目导出到一个自包含的JAR文件,因为你会为一个真正的图书馆做。 相反,你必须间接编译库,通过在相关的应用程序引用库,并构建应用程序。

......

发展考虑

  • 你不能将库项目导出到一个JAR文件

    库不能被分配为二进制文件(诸如JAR文件中)。 这将在SDK工具的未来版本中加入。

我怎样才能避免蚂蚁编译两款Android库项目每个版本?

你谈论的事情是预编译的jar文件。 有一些职位在这里使用建议Eclipse的导出功能或库项目的bin目录下自动生成的罐子 ,它可以在一些简单的情况下工作,如图书馆项目包含纯粹的Java文件,但是如果库项目变得更复杂了都不行哪包含Android的资源文件。 在这种情况下,有一些肮脏的黑客就像这样一个其中IMO造成更多的麻烦比它解决的问题。

Android的开发团队正在研究它,并尝试从基于源的机构进行基于编译的代码库机制改变的Android库项目。 更多的细节在此博客文章 。 我建议等待官方开发团队的最终解决方案。



Answer 3:

我有问题缓慢的Android编译,当我有库在我的项目,通过应用“--incremental”切换到DEX工具解决了这个。 请参见上SO这个问题 。



文章来源: Ant rebuilding library projects every time