Skip to content

构建、包体与兼容性问题

本节汇总构建与兼容性相关的常见问题:APK 体积、混淆/压缩、Android Studio 版本兼容、Chromebook 适配等。

减小 APK 体积

可通过“按 ABI / 屏幕密度拆分 APK”的方式减少单个 APK 体积。可参考 Android 官方文档 Build Multiple APKs,并在 module 级 build.gradle 中配置 splits。

启用 shrink-code(minifyEnabled = true)后运行时异常

若在 App 的 build.gradle 中设置 minifyEnabledtrue,请确保在 proguard-rules.pro 中添加必要的保留规则,否则可能出现运行时异常。

示例(节选):

properties
-dontwarn com.foxit.sdk.**
-keep class com.foxit.sdk.**{ *;}

-dontwarn com.microsoft.rightsmanagement.**
-keep class com.microsoft.rightsmanagement.** { *;}

-dontwarn com.microsoft.aad.adal.**
-keep class com.microsoft.aad.adal.** { *;}

-dontwarn com.edmodo.cropper.**
-keep class com.edmodo.cropper.** { *;}

-dontwarn org.bouncycastle**
-keep class org.bouncycastle.** { *;}

适配 Chromebook

支持。需在 AndroidManifest.xml 中为 application 节点设置:

xml
android:name="com.foxit.uiextensions.FoxitApplication"

如需自定义 Application,请继承 FoxitApplication

兼容 Android Studio 3.2(较旧 IDE)

若项目仍使用 Android Studio 3.2 且无法升级,构建 Demo 时可能遇到构建错误。可按以下思路调整:

  • 将 Demo 工程 build.gradle 中的 com.android.tools.build:gradle 版本下调到 3.3.3;
  • gradle-wrapper.propertiesdistributionUrl 调整为 gradle-4.10.1-all.zip 对应版本。