文档管理中心
指南使用入门将HMS Core添加至Android应用配置混淆脚本

配置混淆脚本

  • 混淆

    混淆是指使用简短无意义的名称重命名已存在的类、方法、属性等,增加逆向工程的难度,保障Android程序源码的安全性。

  • SDK混淆配置

    编译APK前需要配置混淆配置文件,将核心功能的类、方法、属性等取消混淆,避免您在调用核心功能的类、方法、属性等时出现功能异常。

  1. 在应用级根目录下打开混淆配置文件“proguard-rules.pro”,加入排除HMS Core SDK的混淆配置脚本。

    有些Kit还需配置更多的混淆项,请查看Kit对应的开发指南。

    收起
    自动换行
    深色代码主题
    复制
    1. -ignorewarnings
    2. -keepattributes *Annotation*
    3. -keepattributes Exceptions
    4. -keepattributes InnerClasses
    5. -keepattributes Signature
    6. -keepattributes SourceFile,LineNumberTable
    7. -keep class com.huawei.hianalytics.**{*;}
    8. -keep class com.huawei.updatesdk.**{*;}
    9. -keep class com.huawei.hms.**{*;}
  2. 如果您使用了AndResGuard插件,需要在应用级的“build.gradle”文件中加入AndResGuard允许清单。如果您未使用AndResGuard插件,则请忽略本步骤。
    收起
    自动换行
    深色代码主题
    复制
    1. whiteList = [
    2. "R.string.hms*",
    3. "R.string.connect_server_fail_prompt_toast",
    4. "R.string.getting_message_fail_prompt_toast",
    5. "R.string.no_available_network_prompt_toast",
    6. "R.string.third_app_*",
    7. "R.string.upsdk_*",
    8. "R.layout.hms*",
    9. "R.layout.upsdk_*",
    10. "R.drawable.upsdk*",
    11. "R.color.upsdk*",
    12. "R.dimen.upsdk*",
    13. "R.style.upsdk*",
    14. "R.string.agc*"
    15. ]
  3. (可选)当您启用R8资源缩减(项目级“build.gradle”文件中“shrinkResources”属性为“true”)和严格引用检查(“res/raw/keep.xml”文件中的“shrinkMode”“strict”)时,请您配置“keep.xml”文件手动保留layout资源,确保应用正常通过华为应用市场上架审核。
    收起
    自动换行
    深色代码主题
    复制
    1. <?xml version="1.0" encoding="utf-8"?>
    2. <resources xmlns:tools="http://schemas.android.com/tools"
    3. tools:keep="@layout/hms_download_progress,@drawable/screen_off,@layout/upsdk*"
    4. tools:shrinkMode="strict" />
在 指南 中进行搜索
请输入您想要搜索的关键词