JSRUN 用代码说话

使用库项目共享Android源代码和资源

编辑教程

使用库项目共享Android源代码和资源

IntelliJ IDEA 支持包含共享 Android 源代码和资源的 Android 库项目。

其他 Android 应用程序项目可以引用库项目,并在构建时将其编译源包含在其 .apk 文件中。

在 IntelliJ IDEA 中,库项目通过单独的库模块进行支持。

要启用共享 Android 源代码和资源,请执行以下任一操作:

创建一个新的库模块。
将包含要共享的源的应用程序模块转换为库模块。

创建一个新的库模块的操作步骤如下:

执行以下操作之一:

从头开始创建一个项目
将模块添加到现有项目中
在向导的第一页上,在左侧窗格中选择 Android,在右侧窗格中选择 Library Module。
完成向导。

您可以通过更新 Android facet 将应用程序模块转换为库模块。

将应用程序模块转换为库模块的操作步骤如下:

通过从主菜单中选择:文件丨 项目结构(File 丨 Project Structure)来打开“项目结构(Project Structure)”对话框。
在左侧窗格中选择模块。在中央窗格中,展开要变成库模块的模块的节点,然后单击 Android。
在右侧窗格中,选择 Android facet 页面顶部的“库模块(Library module)”复选框。

在另一个项目中使用库模块

要在另一个项目中使用库模块,您需要将该模块导入到其中。

从主菜单中,选择:文件| 新增| 来自现有源的模块(File | New | Module from Existing Sources)。

在打开的对话框中,浏览到要导入的.iml模块文件,然后单击“确定”。模块节点将被添加到树视图中。

将导入的库模块的依赖关系添加到将要使用其数据的模块中:

打开非库模块的设置:导航到文件丨项目结构(File 丨 Project Structure)中,在左窗格中选择模块(Modules),然后在中心窗格中选择非库模块。
在右侧窗格中,切换到“依赖关系(Dependencies)”选项卡。单击右侧工具栏中的添加按钮,然后从上下文菜单中选择“模块依赖项(Module Dependency)”。
在打开的“选择模块(Choose Modules)”对话框中,从列表中选择导入的库模块,然后单击“确定”。
将 AndroidManifest.xml 中用于库模块的数据添加到整个应用程序的 AndroidManifest.xml 中

要成功地将库模块集成到另一个应用程序中,其组件必须在应用程序AndroidManifest.xml文件中声明。清单文件包含运行应用程序所需的信息。您可以手动将这些信息添加到库模块中,也可以将其从库模块的AndroidManifest.xml中提取出来并将其自动添加到应用程序的AndroidManifest.xml中。

第二种方法被称为合并清单(merging manifests)。

要使库模块的清单自动与应用程序清单合并,请执行以下操作:

通过从主菜单选择:文件|项目结构(File | Project Structure)打开“项目结构(Project Structure)”对话框。

在左侧窗格中选择模块(Modules)。在中央窗格中,展开非库模块并单击其节点下的 Android facet。

在右侧窗格的 Android facet 页面上,切换到“打包(Packaging)”选项卡,然后选择“启用清单合并(Enable manigest merging)”选项。

将库模块的.dex文件包含到整个应用程序的.apk文件中,无需重建(预分离)

在应用程序打包过程中,库模块的.class文件被转换为.dex文件。这个操作被称为 dexing。最后,从库模块输出的.dex文件包含在最终的.apk应用程序中(详细了解构建和运行中的构建过程 )。

通常,库模块的内容保持不变。在这种情况下,你只能够dexed一次,因此输出.dex文件包含在.apk中。这种方法被称为 pre-dexing。

默认情况下,IntelliJ IDEA pre-dexe(预分割)库模式依赖关系以及自上一次构建以来尚未更新的外部jars。您可以更改这些设置,以便所有.class文件始终 dexed。

通过从主菜单选择:文件| 项目结构(File | Project Structure)打开“项目结构(Project Structure)”对话框。

在左侧窗格中选择模块(Modules)。在中央窗格中,展开非库模块并单击其节点下的 Android facet。

在右侧窗格的 Android facet 页面上,切换到“打包(Packaging)”选项卡,然后选择“Pre-dex 外部 jar 和 Android 库依赖关系(Pre-dex external jars and Android library dependencies)”选项。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟