當我使用proguard.cfg導出android項目時,所有被引用的.jar文件也被混淆。如何從混淆中排除某些.jar?如何通過Proguard(Android項目)從混淆中排除外部.jar?
23
A
回答
24
如果您不想編輯Ant腳本,您可以爲proguard.cfg添加-keep選項以用於這些外部jar中的類。例如:
-keep class othercode.** { *; }
或被含有否定符正則表達式:
-keep class !mycode.** { *; }
標準Ant腳本仍然會合並所有引用的罐子在單輸出罐子雖然。
6
在你的配置文件中,將你的jar設置爲庫罐而不是輸入罐。這使他們不受影響。
-libjars <path/to/jars>
+0
我沒有設置輸入或庫罐。這由平臺ant腳本完成。編輯該文件是我試圖避免的。 – alex2k8 2010-12-17 23:39:51
1
使用ProGuard Maven插件我那樣做
<inclusion>
<groupId>foo.bar</groupId>
<artifactId>foo-bar</artifactId>
<library>true</library>
<filter>!META-INF/**</filter>
</inclusion>
的
<library>true></library>
導致外部罐子合併成混淆後的最終罐子。但這可能會導致Manifest被覆蓋。我還沒有想出如何避免這種最好的方式。
相關問題
- 1. 如何排除從ProGuard的混淆
- 2. Proguard的混淆JAR文件
- 3. 如何關閉除混淆之外的所有Android ProGuard功能?
- 4. Proguard:在Android中排除庫項目
- 5. Android ProGuard混淆特定類
- 6. 如何混淆使用ProGuard
- 7. 如何通過使用proguard混淆jar文件與依賴關係
- 8. 與proguard混淆
- 9. 如何使Proguard在jar文件中混淆罐子
- 10. 從babel混淆排除webresources?
- 11. Android項目未能導出apk後,proguard混淆
- 12. 如何使用ProGuard工具來混淆我的項目?
- 13. Proguard的混淆工程Android Studio中
- 14. 從Android庫項目生成混淆庫
- 15. 使用proguard的Android混淆應用程序保持jar庫
- 16. 搖籃過程中排除從Android Studio中的外部JAR包生成過程
- 17. 使用proguard混淆
- 18. Proguard混淆和Renderscript
- 19. 如何使用Proguard和SBT混淆脂肪Scala Jar
- 20. 如何proguard android jar
- 21. 從混淆中排除清單文件
- 22. 如何在Eclipse中的Android庫項目中引用外部jar
- 23. 與ProGuard的Android代碼混淆......如何知道它被混淆了?
- 24. 如何從外部庫中排除'jar'文件
- 25. Proguard的不混淆Android應用
- 26. Android Proguard - dontobfuscate不禁用混淆
- 27. NetBeans:使用外部jar的Android項目?
- 28. proguard的,Maven的插件外部的lib com.github.sarxos混淆
- 29. 如何使用Maven和ProGuard混淆webapp
- 30. 如何在NetBeans的Android項目中使用外部jar?
我也這樣做(但使用keepclasseswithmembers類和保持接口)它在我的情況或多或少罰款,因爲單獨的.jar文件有不同的包名... – alex2k8 2010-12-22 22:55:48
也認爲它保留的名稱,代碼仍然似乎被處理和混淆。 – alex2k8 2010-12-27 00:03:40
@Eric請在android工作室回覆,在'proguard-project.txt'或'proguard-rules.pro'中添加這些行嗎? – 2016-06-06 09:16:32