为什么我可以使用另一个Android项目作为库项目而不设置为库项目?

时间:2013-02-19 22:04:49

标签: android library-project

好的,我知道如何将Android项目设置为库项目,并将其作为库引用添加到另一个Android项目中。

然而,在我这样做之后,我删除了“Is library”复选标记,因此第一个项目不是库项目,可以作为普通的Android项目运行。

引用第一个项目的第二个项目也运行良好,我可以更改第一个项目,但仍然可以直接在第二个项目中使用它。

那么为什么将项目设置为库时会大惊小怪,之后我可以删除复选标记并且引用仍在工作?我不明白 - 有人可以解释一下吗?

我正在使用Eclipse 3.7(Indigo)和ADT插件版本21。

1 个答案:

答案 0 :(得分:3)

  

那么为什么将项目设置为库时会大惊小怪,之后我可以删除复选标记并且引用仍在工作?我不明白 - 有人可以解释一下吗?

程序员的一般规则是“在接受输入时要自由,在产生输出时要保守”。在这种情况下,构建系统是自由的,并且正在使用您的第一个项目作为库,尽管它目前没有被标记为库。

然而:

  • 如果在Eclipse中未选中“Is Library”,则无法设置初始host->库关系

  • 如果没有android update lib-project中的等效设置,您可能无法通过 project.properties 设置初始主机 - >库关系(可能会有效) - 我还没试过呢)

  • 您不应该认为输入的自由解释在长期内是可靠的,因为未来版本的工具可能需要检查该标志并强制执行其设置