簡體   English   中英

防止在Android中達到65k的方法

[英]Prevent reaching 65k methods in Android

外部庫的每一次未考慮使用都會導致Gradle錯誤,導致達到65k方法。 因此,我想知道什么是最好的解決方案,而我不想考慮使用Proguard自定義設置。

我想到的(當然,如果我們使用的是開放源代碼庫)只是下載代碼並將其手動放入我們的項目中。 然后,我們可以刪除未使用的類和方法。 看起來我們在扮演Proguard的角色,而且很耗時。

  • 但是使用Gradle提取jar和手動放置代碼有什么區別? 還是性能有所不同?

對於創建帶有許多庫的項目的最佳實踐,我將深表感謝。

注意:我現在想停止考慮Proguard自定義設置,因為它經常產生警告,而忽略它們,例如-dontwarn對我來說-dontwarn 另外,我有點擔心使用MultiDex支持,因此不建議使用。

gradle可以做的一件事是非常明確地說明要包含的代碼模塊。

例如:

compile 'com.google.android.gms:play-services:8.4.0'

不僅會包含更多內容...

compile 'com.google.android.gms:play-services-location:8.4.0'

通常,最好讓gradle管理外部依賴項。 最大的原因是,您可以放心,您可以獲得與特定版本相關聯的代碼的快照。 如果您只是手動導入代碼,則很容易忘記正在使用哪個版本的代碼。 修改(或有選擇地包含)來自第三方的代碼的最大風險是,當第三方更新其代碼時,可能是要修復由新版本的Android引起的主要錯誤,並且其中包含的一些更改會破壞您的手動調整。 現在,與將其作為gradle依賴項包括在內相比,您面臨的問題更加復雜。

暫無
暫無

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

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