问题 android库项目混淆


嗨,我开发了一个安卓库,现在我想混淆它进行重新分配。我使用eclipse和android版本4.1.2开发我的库。我试着用eclipse和pro-guard进行混淆。我做出口,也放 proguard.config = proguard-project.text 在 project-properties 但它不生成任何jar文件。它显示了我不允许图书馆项目的结果。

所以我不知道如何混淆android库项目。我需要有关如何混淆android库项目的帮助。

需要帮助谢谢。


11213
2017-07-26 04:51


起源



答案:


Android SDK不会将ProGuard应用于库项目;它仅将ProGuard应用于最终应用程序(包括其库)。后者在收缩,优化和混淆方面更有效,因为它可以在更大的代码体上工作,并且不需要保留库的公共API。

如果要将库作为最终产品进行分发,可以对其进行后处理,如ProGuard手册中所述>示例> 典型的图书馆

或者, DexGuard,ProGuard的Android商业兄弟,也可以开箱即用地处理图书馆项目。

(我是ProGuard和DexGuard的开发人员)


15
2017-07-28 10:53



该网站是否适合您?每次我尝试单击手动>示例时,它会将我重定向到网站的主页/主页面。另外 - 感谢ProGuard的所有工作。伟大的工具。 - Eggman87
@ Eggman87 ProGuard 4.10版的更新网页在Chrome中运行不佳。我现在修理它们。确保清理缓存。请注意,该文档也包含在ProGuard发行版中。 - Eric Lafortune
谢谢@Eric Lafortune。它现在正在工作,感谢您注意发行版中的文档。 - Eggman87
有人可以共享gradle配置,以便将模块导出为proguarded库吗? - inder
我认为他们现在只需指定就支持aar项目(库项目)的proguard minifyEnabled true 在build.gradle中(AS2.3.1 + buildToolsVersion“25.0.2”) - IHC_Applroid


答案:


Android SDK不会将ProGuard应用于库项目;它仅将ProGuard应用于最终应用程序(包括其库)。后者在收缩,优化和混淆方面更有效,因为它可以在更大的代码体上工作,并且不需要保留库的公共API。

如果要将库作为最终产品进行分发,可以对其进行后处理,如ProGuard手册中所述>示例> 典型的图书馆

或者, DexGuard,ProGuard的Android商业兄弟,也可以开箱即用地处理图书馆项目。

(我是ProGuard和DexGuard的开发人员)


15
2017-07-28 10:53



该网站是否适合您?每次我尝试单击手动>示例时,它会将我重定向到网站的主页/主页面。另外 - 感谢ProGuard的所有工作。伟大的工具。 - Eggman87
@ Eggman87 ProGuard 4.10版的更新网页在Chrome中运行不佳。我现在修理它们。确保清理缓存。请注意,该文档也包含在ProGuard发行版中。 - Eric Lafortune
谢谢@Eric Lafortune。它现在正在工作,感谢您注意发行版中的文档。 - Eggman87
有人可以共享gradle配置,以便将模块导出为proguarded库吗? - inder
我认为他们现在只需指定就支持aar项目(库项目)的proguard minifyEnabled true 在build.gradle中(AS2.3.1 + buildToolsVersion“25.0.2”) - IHC_Applroid