使用库项目共享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)”选项。
选择支付方式:
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间