在 gradle android 构建中使用 progaurd 生成 jar 文件

Generating jar files using progaurd in gradle android build

通常通过为progaurd提供-injars和-outjars,我们可以从-injars.

生成过滤类的混淆jar文件

在 gradle android 构建中是否有任何方法可以使用 proguardFile 属性从项目组 类 生成过滤后的 类 的混淆 jar 文件。这些过滤后的 jar 文件是 gradle android 构建二进制文件的补充。

您可能必须在您的项目中创建一个新的库模块并重构您的代码以将您想要的 类 放在 jar 中移动到新的库模块中。

看到这个答案:

还有这个:

我基于从单个库项目中选择的几个 class 文件生成单独的混淆 jar 文件的要求是通过以下方式实现的。这些单独的 jar 文件是对最终 android 二进制文件(即 .aar 文件)的补充。

调试: 1. 在 android 构建期间,gradle 将所有已编译的 java 文件移动到 /build/intermediates/javac/debug/compileDebugJavaWithJavac/classes 文件夹。

  1. 在 proguard 文件中,我已将 -injars 指定为上述文件夹,将 -outjars 指定为带有过滤器的自定义路径。

  2. 使用 'proguardFile' 属性我已将混淆器文件传递给 build.gradle

  3. 使用 -injars 和 -outjars 指定的所有单独的 jar 文件都将被混淆并放置在 -outjars 路径中

例如:

在调试模式中:

-injars 'D:\projectname\build\intermediates\javac\debug\compileDebugJavaWithJavac\classes'(**.class)

-outjars 'D:\projectname\build\intermediates\transforms\proguard\debug.jar'(com/ui/tab/TabWidget.class,com/ui/Tab.class)

-injars 'D:\projectname\build\intermediates\javac\debug\compileDebugJavaWithJavac\classes'(**.class)

-outjars 'D:\projectname\build\intermediates\transforms\proguard\debug.jar'(com/ui/CollapsibleWidget.class)