簡體   English   中英

如何僅從模塊中導入一個特定的程序包以避免65k問題

[英]How to import only one specific package from module to avoid 65k issue

我在項目中有幾個模塊(A,B,C)。 模塊B正在被其他模塊使用。 結果我遇到了65k方法限制問題。

所以。 有沒有辦法只將特定的軟件包從模塊B導入模塊A? 可以使用proguard來實現嗎?

我認為,有一個更簡單的解決方案(雖然不是更好):

  1. 您可以在構建配置中使用multidex選項。 谷歌文檔
  2. 如果您使用的是播放服務,則只能使用您真正需要的服務,因為它們已被划分為單獨的服務

最好的選擇是僅使用所需的庫,搜索方法數量較少的替代庫。 例如,畢加索庫使用的方法少於1k,Glide大約為4k,但它具有更多功能。

對於Google服務,請使用精細依賴關系-僅導入所需的依賴關系。

您可以重新打包現有庫,獲取所需功能或在github存儲庫中搜索特定類

Proguard將刪除未使用的類。

Multidex是您的最后選擇-如果minSdk低於21,則構建時間將增加。 我在處理代碼時會切換到minSdk 21(它的構建速度更快),並在測試時返回到目標minSdk。 仍然不應該被multidex嚇到,當您處理具有很多視圖和功能的大型項目時,您需要習慣它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM