Android 模块化开发
<p><span style="font-size: 15px"> </span></p><p><span style="font-size: 15px">1、前言</span></p>
<p><span style="font-size: 15px"> 模块化开发的优势什么的这里就省略了,本文主要记录自己 Android 模块化开发的使用过程</span></p>
<p><span style="font-size: 15px"> </span></p>
<p><span style="font-size: 15px">2、新建一个模块</span></p>
<p><span style="font-size: 15px"> <img src="https://img2018.cnblogs.com/blog/1118330/201907/1118330-20190725155921876-2146643815.png" alt=""></span></p>
<p><span style="font-size: 15px"> 上图就是选择新建模块的时候,常用的两个选项,第一个新建的是可以独立运行的一个模块应用程序,而第二个建立的只是一个 库项目,不能独立运行,必须依赖于一个应用程序来运行</span></p>
<p> </p>
<p><span style="font-size: 15px">3、将Model与当前项目关联(引入模块)</span></p>
<p><span style="font-size: 15px"> 项目单击右键,选择 “Open Module Settings”,添加模块的引用</span></p>
<p><span style="font-size: 15px"><img src="https://img2018.cnblogs.com/blog/1118330/201907/1118330-20190725165514715-1960768742.png" alt="" width="1370" height="427"></span></p>
<p> </p>
<p><span style="font-size: 15px">添加模块后,如果报 Support 版本不一致问题,可以选择将版本号改为一样(推荐),或者将 Module Support 库的依赖方式改为 compileOnly</span></p>
<p> </p>
<p><span style="font-size: 15px">4、Android Studio 如何删除模块</span></p>
<p><span style="font-size: 15px"> ① 选中要删除的module 右键选择open modules settings,然后选中要删除的modules ,点击减号。</span></p>
<p><span style="font-size: 15px"> ② 上一步只是移除了 Module 的引用,但是文件还存在,如果想要移除文件,需要切换到 Project 浏览模式,删除 模块文件</span></p>
<p><span style="font-size: 15px"> </span></p>
<p><span style="font-size: 15px">5、Gradle依赖(以 AS 3.0为例)</span></p>
<p><span style="font-size: 15px"> 我们平时在引入依赖的时候,常用的是 implementation ... ,但是Gradle提供的引入依赖的方式还有很多种,接来下,我们大概看一下各种发生有何区别:</span></p>
<p><span style="font-size: 15px"> ①implementation</span></p>
<p><span style="font-size: 15px"> 使用该命令编译的依赖,仅仅对当前 Module 提供接口。如 Module A 依赖 Library B,而Library B又依赖 Library C,如果 Library B对C的依赖使用 implementation,那么在 Module A中是无法访问 Library C提供的结构的</span></p>
<p><span style="font-size: 15px"> ②api ( 等同于 AS 2.X 中的 compile )</span></p>
<p><span style="font-size: 15px"> 和implementatioin 相对,如果 B 对 C使用 api 依赖,那么 Moudle A中 也能访问到 C 提供的结果。</span></p>
<p><span style="font-size: 15px"> (注意:这种方式经常会导致依赖依赖冲突)</span></p>
<p><span style="font-size: 15px"> ③compileOnly</span></p>
<p><span style="font-size: 15px"> 只在编译时有效,不会参与打包</span></p>
<p><span style="font-size: 15px"> (可以在自己的 Module 中使用该方式依赖一些 开发者 常用的库,比如 gson,okhttp 等,避免冲突)</span></p>
<p><span style="font-size: 15px"> ④runtimeOnly</span></p>
<p><span style="font-size: 15px"> 只有生成 apk 是参与打包,编译时不会参与。极少使用</span></p>
<p><span style="font-size: 15px"> ⑤testImplementation</span></p>
<p><span style="font-size: 15px"> 只有单元测试的代码编译时或最终打包测试 apk 时有效</span></p>
<p><span style="font-size: 15px"> ⑥implementation fileTree</span></p>
<p><span style="font-size: 15px"> 导入本地文件夹。例 implementation fileTree(dir: 'libs', include: ['*.jar']),这句话的意思是导入 libs 文件夹下所有以 .jar 后缀结尾的包</span></p>
<p><span style="font-size: 15px"> </span></p>
<p><span style="font-size: 15px">6、将 Android 项目导出为 Module 并引入其它工程</span></p>
<p><span style="font-size: 15px"> 推荐 Android将项目导出为module并引入工程</span></p><br><br>
来源:https://www.cnblogs.com/lkc9/p/11245029.html
頁:
[1]