• Android 模块化开发


     

    1、前言

      模块化开发的优势什么的这里就省略了,本文主要记录自己 Android 模块化开发的使用过程

     

    2、新建一个模块

      

      上图就是选择新建模块的时候,常用的两个选项,第一个新建的是可以独立运行的一个模块应用程序,而第二个建立的只是一个 库项目,不能独立运行,必须依赖于一个应用程序来运行

    3、将Model与当前项目关联(引入模块)

      项目单击右键,选择 “Open Module Settings”,添加模块的引用

    添加模块后,如果报 Support 版本不一致问题,可以选择将版本号改为一样(推荐),或者将 Module Support 库的依赖方式改为 compileOnly

    4、Android Studio 如何删除模块

      ①  选中要删除的module 右键选择open modules settings,然后选中要删除的modules ,点击减号。

      ② 上一步只是移除了 Module 的引用,但是文件还存在,如果想要移除文件,需要切换到 Project 浏览模式,删除 模块文件

     

    5、Gradle依赖(以 AS 3.0为例)

      我们平时在引入依赖的时候,常用的是 implementation ... ,但是Gradle提供的引入依赖的方式还有很多种,接来下,我们大概看一下各种发生有何区别:

      ①implementation

        使用该命令编译的依赖,仅仅对当前 Module 提供接口。如 Module A 依赖 Library B,而Library B又依赖 Library C,如果 Library B对C的依赖使用 implementation,那么在 Module A中是无法访问 Library C提供的结构的

      ②api ( 等同于 AS 2.X 中的 compile )

        和implementatioin 相对,如果 B 对 C使用 api 依赖,那么 Moudle A中 也能访问到 C 提供的结果。

        (注意:这种方式经常会导致依赖依赖冲突)

      ③compileOnly

        只在编译时有效,不会参与打包

        (可以在自己的 Module 中使用该方式依赖一些 开发者 常用的库,比如 gson,okhttp 等,避免冲突)

      ④runtimeOnly

        只有生成 apk 是参与打包,编译时不会参与。极少使用

      ⑤testImplementation

        只有单元测试的代码编译时或最终打包测试 apk 时有效

      ⑥implementation fileTree

        导入本地文件夹。例 implementation fileTree(dir: 'libs', include: ['*.jar']),这句话的意思是导入 libs 文件夹下所有以 .jar 后缀结尾的包

     

    6、将 Android 项目导出为 Module 并引入其它工程

      推荐 Android将项目导出为module并引入工程

  • 相关阅读:
    .net 2.0 使用linq
    重建索引解决mssql表查询超时的问题
    倾斜摄影自动化建模成果的数据组织和单体化
    cesium导入3D模型(obj转gltf)
    github
    JSP转发和重定向的区别
    mysql压缩版的安装教程
    JSP内置对象
    运行jsp常犯的错误
    递归的几个demo
  • 原文地址:https://www.cnblogs.com/lkc9/p/11245029.html
Copyright © 2020-2023  润新知