導航:首頁 > 源碼編譯 > 模塊化編譯鏈接

模塊化編譯鏈接

發布時間:2023-09-12 11:45:27

android模塊化之MicroMole(微信Pins工程)

相信你看過微信關於模塊化的分享 《微信Android模塊化架構重構實踐》 ,也注意到裡面提到的pins工程結構。

作者是這樣描述的 ------「pins工程能在mole之畢模簡內再次構建完整的多子工程結構,通過project.properties來指定編譯依賴關系。通過依賴關系碼正在編譯時找到所有的資源和源碼路徑。」

仔細推敲這句話的意思,應該能知道它實現的基本原理------通過設置sourceSets指定手褲多個java、res等路徑.

有關sourceSets的介紹:
https://developer.android.com/studio/build/index.html#sourcesets
https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.api.AndroidSourceSet.html

但是,有一個問題需要要知道的是,一個mole只能指定一個AndroidManifest文件,pins工程中包含了多個AndroidManifest,它是怎麼做到的?

研究過 com.android.tools.build:gradle ,會留意到它使用到一個子庫 com.android.tools.build:manifest-merger ,官方通過這個庫來合並多個AndroidManifest文件,或許pins工程也是用了這方式。

接下來,再它的基礎上,我做的一些改動,取了另一個名字叫 MicroMole ,先來看一下工程結構:

與pins工程的結構大致不變,增加了 androidTest 和 test ,以及將 project.properties 替換為 build.gradle 。

基本原理是不變的,與微信pins工程一樣配置 sourceSets 。AndroidManifest合並用了 com.android.tools.build:manifest-merger 。

在根項目的build.gradle中添加插件依賴:

在模塊的build.gradle中引用插件並配置 MicroMole:

MicroMole中的build.gradle:

為了使用上的更加方便,專門寫了Android Studio的插件,能快速的創建一個MicroMoudle.

插件安裝步驟 :

插件詳解 :
https://plugins.jetbrains.com/plugin/10785-micromole

插件項目地址 :
https://github.com/EastWoodYang/micro-mole-idea-plugin

MicroMole已經上傳至Github,歡迎star交流。
https://github.com/EastWoodYang/MicroMole

Ⅱ 關於單片機 模塊化編程的 問題

可以,但是加了頭文件有幾點好處:首先模塊化更清晰;通過頭文件申明需要對外提供調用的函數,比你在其他C文件裡面用extern 申明要方便。舉個例子,現在有main.c,a.c,b.c三個C文件,當你在main.c需要用到的a.c里的函數,且函數很多,好幾十個,你需要在main.c寫好幾十個extern申明的函數語句。如果你還需要在b.c調用的話,還要在b.c裡面寫幾十個申明語句。當你還需要在其他C文件裡面調用的話,那工作量就太大了。如果我們寫個h文件,然後在裡面去extern申明需要對外提供的函數,其他C文件裡面調用只需要寫個#include "a.h"即可,方便且快捷。

閱讀全文

與模塊化編譯鏈接相關的資料

熱點內容
買了伺服器如何架設 瀏覽:929
如何運用mex函數編譯c 瀏覽:896
24歲程序員倒在工作上 瀏覽:919
怎麼算梁的加密區 瀏覽:93
2016版office怎麼解壓 瀏覽:270
怎麼把安卓手機調的更暗 瀏覽:167
蘋果空間新演算法 瀏覽:91
android文字動畫效果 瀏覽:146
java調試命令 瀏覽:213
android子線程looper 瀏覽:782
linux安裝java7 瀏覽:189
單片機fdh 瀏覽:107
單片機原理與應用下載 瀏覽:590
順風車車主app在哪裡下載 瀏覽:235
雷石柏雲伺服器功率 瀏覽:102
全球服是什麼伺服器 瀏覽:237
感測器怎麼連接伺服器 瀏覽:705
大數學pdf 瀏覽:646
哪個app可以登記自己的藏書 瀏覽:89
怎麼用車貸款哪個app好 瀏覽:7