Building Production Apps
iOS
The Scanbot SDK iOS Framework (included in React Native Document Scanner Plugin) is provided as a pod via https://cocoapods.org. Because React Native apps are normal native apps at the end of the day, the way they are deployed to the App Store is just like any other native app. Please, consult the official Apple documentation on Submitting Apps to the App Store for more information.
Android
The Scanbot SDK uses native libraries under the hood and supports the following ABIs:
armeabi-v7a
, arm64-v8a
, x86
and x86_64
.
By default, the native libraries of all these architectures will be included in the app package (APK),
which will result in a big APK file. Please consider removing support for x86
and x86_64
architectures.
In most cases both “x86” architectures can be removed for the release (production) build, since they are only used on
emulators and on some rare devices with the Intel Atom architecture.
To exclude certain ABIs from the APK, use the abiFilters
property in the Android Gradle settings of your project.
Please check and adjust the abiFilters
configuration in your build.gradle
file accordingly:
android {
...
defaultConfig {
...
ndk {
// a typical production configuration:
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
}
💡 However, if you need to support all architectures and to optimize the APK size, we highly recommend checking out the Android App Bundle approach. It allows you to create and distribute dedicated and smaller APKs via the PlayStore (basically it is similar to the iOS App Store approach).
ProGuard
Starting from v6.1.0, consumer ProGuard rules are integrated into the Scanbot SDK React Native Plugin and automatically applied to customers modules.
If you use older version and have ProGuard/R8 enabled for the release/production build, please add the following rules:
-keeppackagenames io.scanbot.sdk.reactnative.**
-keep public class io.scanbot.sdk.reactnative.** { *; }
-keep public class io.scanbot.sdk.ui.** { *; }
Want to scan longer than one minute?
Generate a free trial license to test the Scanbot SDK thoroughly.
Get your free Trial LicenseWhat do you think of this documentation?
What can we do to improve it? Please be as detailed as you like.