我注意到,当我通过选中“是库”复选框将现有的 Android 应用程序项目转换为 Android 库项目时,项目的源代码或 XML 文件没有任何变化。
那么当“是库”复选框被选中时会发生什么呢?包和/或项目文件中的内部有哪些变化?我在哪里可以了解更多信息?
为了更好地解释我的问题:
- 我有兴趣知道(主要用于故障排除目的)是 什么将应用程序包与“隐藏”的库包区分开来?
- 项目是否在某处标记了“图书馆项目”这一事实?如果是这样,它在哪里标记它(显然不在源文件中,甚至不在 res XML 文件中)
我注意到,当我通过选中“是库”复选框将现有的 Android 应用程序项目转换为 Android 库项目时,项目的源代码或 XML 文件没有任何变化。
那么当“是库”复选框被选中时会发生什么呢?包和/或项目文件中的内部有哪些变化?我在哪里可以了解更多信息?
为了更好地解释我的问题:
从命令行页面管理项目:
create lib-project 命令创建一个标准项目结构,其中包括向构建系统指示该项目是一个库的预设属性。它通过将此行添加到项目的 default.properties 文件中来做到这一点:
android.library=true
换句话说,它是构建系统而不是操作系统使用的属性。
更新:我在我的 iPhone 上,所以我不会输入完整的释义,但这里有一篇很好的博客文章,讨论了 Java JAR 和 Android 库项目之间的差异,包括 dex 工具如何添加资源和 dex 代码到.apk:
http://devmaze.wordpress.com/2011/05/22/android-application-android-libraries-and-jar-libraries/
从开发站点:http: //developer.android.com/guide/developing/projects/projects-eclipse.html
您还可以将 Android 项目指定为库项目,这允许它与其他依赖它的项目共享。一旦将 Android 项目指定为库项目,就无法将其安装到设备上。
库项目不会像您习惯使用 jar 包那样打包为单独的可再发行文件。它与您的应用程序的 apk 文件合并。
您链接到的页面在引用库项目部分中提到了它。
一旦 Properties 对话框关闭,Eclipse 就会重新构建项目,包括库项目的内容。