16

嗨,我开发了一个 android 库,现在我想对其进行混淆以便重新分发。我使用 eclipse 和 android 版本 4.1.2 开发我的库。我尝试使用 eclipse 和 pro-guard 进行混淆。我确实导出并放入proguard.config = proguard-project.textproject-properties但它没有生成任何 jar 文件。它向我展示了结果,因为它不允许图书馆项目。

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

需要帮助 谢谢。

4

2 回答 2

27

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

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

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

(我是 ProGuard 和 DexGuard 的开发者)

于 2013-07-28T10:53:50.053 回答
1

为了混淆你的图书馆,你需要做的是:

  1. 确保gradlelib module state 的设置minifyEnabled true

  2. ./gradlew assemble{flavor}Release

于 2019-03-07T09:48:08.940 回答