我正在嘗試爲我的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. 爲Android應用程序設置proguard項目
- 3. 的Android ProGuard,並將庫項目
- 4. Proguard:在Android中排除庫項目
- 5. 與Android項目使用(兼容性)庫的Proguard
- 6. 配置ProGuard的優化庫項目(而不是主項目)
- 7. Android庫模塊使用proguard
- 8. Android設置項目
- 9. 使用庫設置emacs EDE項目
- 10. Facebook的Android ProGuard設置
- 11. 無法使用Android Wear設置項目
- 12. 使用Android庫項目
- 13. 使用IvyDE設置項目
- 14. 使用CakePHP設置項目
- 15. Android EndlessAdapter設置OnLongClick項目
- 16. 設置Android項目/ Eclipse
- 17. Android Studio:設置爲項目
- 18. 如何在proguard中指定庫項目
- 19. Proguard和兩個使用相同的android庫的項目。廣播。 ClassNotFoundException
- 20. 創建使用數據綁定和proguard的庫項目
- 21. 如何使用Gradle和Android-Studio設置和測試Android庫項目?
- 22. 使用Android proguard忽略外部庫
- 23. Android proguard無法與鏈接的項目庫運行APK
- 24. 在Android庫項目中停止proguard破壞註釋
- 25. 在eclipse中如何使用proguard混淆android項目?
- 26. 使用proguard的android項目總是出錯?
- 27. 在adt&sdk上使用proguard時導出Android項目20
- 28. 爲多個罐子的android-eclipse項目配置ProGuard
- 29. 用於爲Android創建第三方庫的項目設置
- 30. Android Proguard:如何在Eclipse中設置?
嗨,看來這個答案是[這]不同(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