8

我注意到,当我通过选中“是库”复选框将现有的 Android 应用程序项目转换为 Android 库项目时,项目的源代码或 XML 文件没有任何变化。

那么当“是库”复选框被选中时会发生什么呢?包和/或项目文件中的内部有哪些变化?我在哪里可以了解更多信息?

为了更好地解释我的问题:

  1. 我有兴趣知道(主要用于故障排除目的)是 什么将应用程序包与“隐藏”的库包区分开来?
  2. 项目是否在某处标记了“图书馆项目”这一事实?如果是这样,它在哪里标记它(显然不在源文件中,甚至不在 res XML 文件中)
4

3 回答 3

6

从命令行页面管理项目

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/

于 2011-06-20T15:57:37.857 回答
5

从开发站点:http: //developer.android.com/guide/developing/projects/projects-eclipse.html

您还可以将 Android 项目指定为库项目,这允许它与其他依赖它的项目共享。一旦将 Android 项目指定为库项目,就无法将其安装到设备上。

于 2011-06-13T16:20:34.540 回答
1

库项目不会像您习惯使用 jar 包那样打包为单独的可再发行文件。它与您的应用程序的 apk 文件合并。

您链接到的页面在引用库项目部分中提到了它。

一旦 Properties 对话框关闭,Eclipse 就会重新构建项目,包括库项目的内容。

于 2011-06-13T19:23:06.240 回答