Android在内部和外部导入库的好处

Jas*_*son 18 java eclipse android adt

在ADT 17之后,非Android库需要包含在项目的"libs"文件夹中,或者通过构建路径中的"Order and Export"选项卡导出.在外部导入库之间有什么区别(如果有的话):

的外部1

External2

在内部:

Internal2

Internal1

以"Android依赖关系"组中包含的方式导入库是否有优势?

yor*_*rkw 9

如何将外部jar依赖项添加到Android项目的构建路径(内部或外部)对实际构建过程没有任何影响(更具体地说,在编译和dex步骤中),它所做的就是告诉构建过程在哪里查找所需的jars at compile和dex step.

窗口中Android Dependencies显示的元素Java Build Path - Libraries只是ADT插件用于管理/分组jar依赖项的另一个抽象层.你的外部jar文件(在你的情况下是android-support-v4.jar Android Dependencies)在那个窗口中出现(内部或外部)没有区别.

从r17开始,依赖关系管理得到了很大的改进,建议使用libs /目录存储所有jar依赖关系(请参考你的内部方式),这被认为是一种自动化方法(因为ADT插件现在变得更加智能),请参阅修订版对于ADT 17.0.0:

新构建功能

  • 添加了自动设置JAR依赖项的功能./ libs文件夹中的任何.jar文件都会添加到构建配置中(类似于Ant构建系统的工作方式).此外,库项目所需的.jar文件也会自动添加到依赖于这些库项目的项目中.(更多信息)

但是,如果您愿意,您仍然可以使用旧方式(请参阅您的外部方式),这被视为手动方法(因为ADT插件之前是愚蠢的),请参阅r17版本的最新更改:

重要提示:如果您仍然手动引用jar库而不是将它们放在libs下/请注意以下事项:

  • 如果项目是库项目,则应用程序项目将不会自动显示这些jar库.你应该把它们移到libs /

  • 如果项目是一个应用程序,这可以工作,但您必须确保将jar文件标记为已导出.

以"Android依赖关系"组中包含的方式导入库是否有优势?

从依赖管理的角度来看,自动化与手动一样,在计算机科学领域,自动化总是被认为比手动更无错误.