Why is the Anyline SDK Bundle so large?
Integrating our SDK can add up to 90MB for Android, 50MB for iOS and 20MB for Windows, due to all the necessary resources for all the processing. We are working on this and hope to be able to optimise further in the future.
Please note that the Anyline SDK requires the inclusion of computer vision and machine learning libraries, because there is no server side processing. This enables fully offline functionality and increased safety. The combination of all these resources, therefore, increases the size of our SDK.
Below is a table of how much space each module takes up in your app.
Version 42.3.0
MODULE(S) | SIZE OF ALL ADDED | OVERALL SIZE | SIZE WHEN REMOVED |
---|---|---|---|
All Modules | 133.3MB | 73.7MB | 59.9MB |
module_tire | 133.3MB | 12.5MB | 120.8MB |
module_license_plate | 133.3MB | 9.7MB | 123.6MB |
module_document | 133.3MB | 0.6MB | 132.7MB |
module_barcode | 133.3MB | 0MB | 133.3MB |
module_anyline_ocr | 133.3MB | 10.3MB | 123MB |
module_id | 133.3MB | 18.7MB | 114.6MB |
module_energy | 133.3MB | 21.9MB | 111.4MB |
Version 43
MODULE(S) | SIZE OF ALL ADDED | OVERALL SIZE | SIZE WHEN REMOVED |
---|---|---|---|
All Modules | 181.8MB | 73.6MB | 108.2MB |
module_tire | 181.8MB | 12.5MB | 169.3MB |
module_license_plate | 181.8MB | 9.7MB | 172.1MB |
module_document | 181.8MB | 0.5MB | 181.3MB |
module_barcode | 181.8MB | 0MB | 181.8MB |
module_anyline_ocr | 181.8MB | 10.3MB | 171.5MB |
module_id | 181.8MB | 18.7MB | 163.1MB |
module_energy | 181.8MB | 21.9MB | 159.9MB |
What exactly does the Bundle SDK include?
THE ANYLINE SDK EXAMPLES BUNDLE FOR ANDROID |
THE ANYLINE SDK EXAMPLES BUNDLE FOR iOS |
THE ANYLINE SDK EXAMPLES BUNDLE FOR UWP |
Reducing the Size of the SDK
iOS |
Add the following script to Run Script in your Build Phases of your project.
# --Available Modules-- DIR_DOCUMENT="module_document" DIR_OCR="module_anyline_ocr" DIR_BARCODE="module_barcode" DIR_ENERGY="module_energy" DIR_ID="module_id" DIR_LICENSE_PLATE="module_license_plate" DIR_TIRE="module_tire" # Identify any of the SDK modules from the list above that the app requires # eg ${DIR_ID} ${DIR_ENERGY} and set the MODULES_TO_KEEP_ARRAY accordingly MODULES_TO_KEEP_ARRAY=(${DIR_ID}, ${DIR_LICENSE_PLATE}) echo "Modules to include: ${MODULES_TO_KEEP_ARRAY[@]}" FILENAME="AnylineResources.bundle" MODULES_DIR_PATH=$(find "${CODESIGNING_FOLDER_PATH}" -iname ${FILENAME}) MODULES_ARRAY=(${DIR_OCR} ${DIR_BARCODE} ${DIR_DOCUMENT} ${DIR_ENERGY} ${DIR_ID} ${DIR_LICENSE_PLATE} ${DIR_TIRE}) if ((${#MODULES_TO_KEEP_ARRAY[@]})); then for module in "${MODULES_ARRAY[@]}"; do if [[ ! " ${MODULES_TO_KEEP_ARRAY[*]} " =~ " ${module} " ]]; then echo "Removing module ${module}" rm -rf "${MODULES_DIR_PATH}/${module}" fi done fi
WARNING: Please make sure not to delete the module or any other resources you require!
Tutorial Videos
Here, you will be able to watch our SDK Size Reduction Tutorial video for iOS.
Important Notes
Important: Uninstall your app on the iPhone if you launch a new version of your app.
When you do a build of your project existing assets on a iPhone will NOT be deleted. When you start your app containing the Anyline SDK the first time on your iPhone our SDK copies assets into a local folder.
If in the future assets will be changed or deleted our SDK checks if this local folder exists. If yes, files will not be overwritten. So uninstall your app before you install a new version.
Links to Documentation
If you require any further information or details on our size reduction for the Anyline Android SDK,
please find our Documentation Page.