zoukankan      html  css  js  c++  java
  • 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并引入工程

  • 相关阅读:
    Vector成员为指针时要注意的问题
    (转)C++中的static关键字的总结
    (转)内联(inline)函数与虚函数(virtual)的讨论
    基类类型和派生类型之间的转换以及虚函数
    (转) vector的reserve和resize
    关于函数返回值的一些见解
    (转)感受异或的神奇
    一个mysql不解的问题
    获取本机TCP连接状态信息
    (转)socket的SYN_RECV和ESTABLISHED状态
  • 原文地址:https://www.cnblogs.com/lkc9/p/11245029.html
Copyright © 2011-2022 走看看