添加混淆规则

mPaaS Android 客户端开发的应用程序是通过 Java 代码编写而成,而 Java 代码易被反编码,因此为了保护 Java 源代码,需要使用 ProGuard 混淆 Android 文件。本文介绍了在原生 AAR 接入方式下添加混淆规则的流程。

操作步骤

  1. yw_1222.jpg 自定义为要保留的资源。 在项目中创建一个包含 <resources> 标记的 XML 文件,并在 tools:keep 属性中指定 yw_1222.jpg 为要保留资源。如有需要,还可以在 tools:discard 属性中指定每个要舍弃的资源。这两个属性都接受以逗号分隔的资源名称列表。可以将星号(*)字符用作通配符。

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:tools="http://schemas.android.com/tools"
     tools:keep="@drawable/yw_1222"/>
  2. 执行任务生成混淆文件。 点击 mPDebugProguardTask(或 mPReleaseProguardTask)。 39

  3. 执行完成后,项目中会增加混淆文件,如下图所示。 40

  4. 将生成的混淆文件追加到混淆策略中。 41

    如果您混淆过程中遇到 transformClassesAndResourcesWithR8ForRelease 卡住,建议您关闭 R8 后再进行混淆。关闭 R8 的方法如下:

    gradle.properties 中添加 android.enableR8=false42