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並引入工程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM