安全加固对加固的 APK/AAB 有以下要求,使用前请阅读以下使用说明,以获得更好的体验。
请确认 Provider 的 onCreate 的内容能够多次执行。如果在 onCreate 中有相关的逻辑,请确保它能被执行两次或以上。例如在 Provider 的 onCreate 中进行单例的初始化,则需要判断该实例是否已经被初始化过。
不支持 x86、mips 架构,如有配置相关架构,请移除之后重新打包进行加固。
目前 minSdkVersion 不支持 24 及以上,minSdkVersion 推荐设置为 23 以下,当 minSdkVersion < 23 时,安全加固默认会对 APK 中的 nativeLibraries 进行压缩存储。如果您需要设置 minSdkVersion = 23,可以从以下两种方式中选择其一进行处理:
在
application
这个节点属性中增加android:extractNativeLibs="true"
。对加固后的 APK 或 AAB 重新进行打包,依据您自己的规则设置是否需要压缩。
重要如果要对应用中的 Assets 文件进行加固,则必须确保 minSdkVersion ≥ 21,即 Android 版本不低于 5.0。
如果项目中有接入 Arouter,请使用 Gradle 插件实现路由表的自动加载。
apply plugin: 'com.alibaba.arouter'//需要在工程的 app module 的 build.gradle 中进行配置 buildscript { repositories { mavenCentral() } dependencies { classpath "com.alibaba:arouter-register:?" } }
通过 ARouter 提供的注册插件进行路由表的自动加载(power by AutoRegister), 默认通过扫描 dex 的方式进行加载。通过 Gradle 插件进行自动注册可以缩短初始化时间,解决应用加固导致无法直接访问 dex 文件造成的初始化失败问题。
重要该插件必须搭配 API 1.3.0 以上版本使用。
更多内容请参考 ARouter 使用说明。