Build, Package Size, and Compatibility
This section covers common build and compatibility topics: APK size, ProGuard/shrinking, Android Studio version compatibility, and Chromebook support.
Reduce APK Size
Split APKs by ABI and screen density to reduce individual APK size. See the Android documentation Build Multiple APKs and configure splits in the module-level build.gradle.
Runtime Errors with shrink-code (minifyEnabled = true)
If you set minifyEnabled to true in the app build.gradle, add the required keep rules in proguard-rules.pro to avoid runtime errors.
Example (excerpt):
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 Support
Supported. Set the following on the application node in AndroidManifest.xml:
xml
android:name="com.foxit.uiextensions.FoxitApplication"For a custom Application class, extend FoxitApplication.
Android Studio 3.2 (Older IDE)
If you still use Android Studio 3.2 and cannot upgrade, building demos may fail. Try:
- Lower
com.android.tools.build:gradlein the demobuild.gradleto 3.3.3; - Set
distributionUrlingradle-wrapper.propertiesto thegradle-4.10.1-all.zipversion.