adt實現multidex(apk分包打包方案)

2021-10-01 15:27:18 字數 434 閱讀 9113

由於adt不支援multidex,如果工程函式數量達到65536(包括jar依賴裡面的函式),dx會轉換失敗。

首先,增加dex.force.jumbo=true是沒用的,只要函式數量還是達到閥值,dx都會執行失敗。

解決這個問題需要採用分包打包,即multidex。如果使用gradle打包,那麼只要配置multidexenabled=true就可以。這樣dx就會採用multidex方式轉換。

由於adt已經內建了對dx的操作,所以不支援配置multidex的打包方式。處理方案主要有3種:

1、修改dx,讓其預設採用multidex;

2、修改adt,讓其支援multidex引數;

3、自己分包打包;

方案1和2對開發環境修改較大,所以我們不考慮。我們主要介紹自己分包打包的方案。

具體實現方式看我貼吧文章吧,其它adt維護方式也有:

佇列ADT實現

佇列也比較的簡單,先進先出。流行的做法也是用陣列實現。結構體如下 struct queue include include struct queue typedef struct queue queue 建立乙個空的佇列 形參代表這個佇列的長度最大是多少 queue createqueue int ...

鍊錶ADT實現

鍊錶煉表有一系列不必再記憶體中連續的結構組成,不需要使用位址連續的儲存單元。它是通過 鏈 來建立邏輯關係的,因此在對鍊錶進行插入,刪除操作時不需要移動元素,而只需要修改指標即可。鍊錶分類 按是否包含指向前繼的指標可分為單鏈表和雙向鍊錶 按是否成環狀可以分為迴圈鍊錶和非迴圈鍊錶。由於連表示離散的分布在...

樹的ADT實現

假設二叉樹的資料元素為字元,採用二叉鏈式儲存。請程式設計實現下列操作 1 建立二叉樹 完全前序或前序 中序 2 遍歷二叉樹 深度 層次 3 求給定元素的雙親 4 求二叉樹的高度 5 計算葉子數 6 判斷是否完全二叉樹 在這裡我用了完全前序建立的二叉樹 include include include ...