我正在嘗試爲我的Android項目設置proguard。我的應用程序項目中只有很少的代碼,但引用了一個包含絕大多數代碼和任何其他外部jar的庫項目。話雖如此,我不知道如何設置proguard考慮到這一點。現在我的proguard配置文件就是來自the ProGuard site的Android示例。我一直在四處搜尋,但還沒有找到很多關於在圖書館項目中使用proguard的文檔,只是罐子。我對proguard很陌生,所以任何推動正確的方向都會很棒。謝謝。使用Android庫項目設置ProGuard
27
A
回答
15
編輯
由於@BornToCode指出,不同的答案(最初發布here)更好地解釋了項目如何庫由Proguard的處理。另外,這個引用的問題比我在原始回覆中鏈接的問題更有興趣和更全面的聲譽。 報價:
圖書館本身的項目不運行ProGuard的,所以他們不使用 任何配置。
應用程序項目混淆了整個代碼庫,包括任何 引用的庫,因此它們需要對 應用程序代碼和庫代碼進行適當的配置。
老回答(沒有錯,只是可能不是最好的方法)
圖書館項目更多的是一個項目,它在Eclipse罐子連接的便捷方式。在構建項目時,編譯器可見的庫項目的唯一組件是jar文件。
如果你想混淆這罐子,看看這篇文章:
How to obfuscate an Android library (.jar file) using Proguard in Eclipse
4
這對我來說很有意義指定庫proguard的設置(如該庫文件不應該混淆)在圖書館項目。我發現我還需要在我的應用程序中包含來自我的庫模塊的proguard配置。要做到這一點,我添加了以下到defaultConfig
節在我的圖書館的build.gradle
apply plugin: 'com.android.library'
android {
defaultConfig {
consumerProguardFiles 'proguard-rules.pro'
}
}
,然後在我的庫模塊配置的proguard-rules.pro文件,以保持重要的序列化類的名稱。
相關問題
- 1. 爲Android應用程序設置proguard項目
- 2. Proguard:在Android中排除庫項目
- 3. 與Android項目使用(兼容性)庫的Proguard
- 4. Android設置項目
- 5. 無法使用Android Wear設置項目
- 6. Android EndlessAdapter設置OnLongClick項目
- 7. 使用CakePHP設置項目
- 8. 如何在proguard中指定庫項目
- 9. 創建使用數據綁定和proguard的庫項目
- 10. Android Proguard:如何在Eclipse中設置?
- 11. 用於爲Android創建第三方庫的項目設置
- 12. 將Proguard應用於包含多個庫項目的Android應用程序
- 13. Android庫項目
- 14. Android庫項目
- 15. 構建使用ANT引用庫項目的Android項目
- 16. 如何將Android Studio設置爲使用項目視圖進行新項目?
- 17. 在android庫項目中使用AspectJ
- 18. 在AOSP中使用的Android庫項目
- 19. 創建和使用android庫項目
- 20. 在Android項目中使用庫
- 21. 使用主項目資源的Android庫
- 22. 在Android項目中使用庫
- 23. Jenkins使用庫構建Android項目
- 24. 如何使用Android庫在Java項目
- 25. 在Android Studio項目中使用.a庫
- 26. 如何同時在android項目和服務項目上應用proguard
- 27. 如何爲jar庫設置Android Studio項目?
- 28. GLFW庫的Xcode項目設置
- 29. Python:獲取深度項目? (?設置庫)
- 30. 設置項目特定的Maven倉庫
嗨,看來這個答案是[這]不同(http://stackoverflow.com/questions/10982344/is-proguard-cfg-needed-for-library-projects#10992604 )。你能解釋一下嗎? – BornToCode 2013-11-19 01:49:36
@BornToCode你是絕對正確的。相關答案顯然比我的答案更有信譽。我在這裏添加了一個鏈接到這個和我的答案中的一個引用。 – Phil 2013-11-19 04:05:13