How to Optimize File Size, Code Obfuscation Best Practices in Android & iOS Apps
Learn the 3 Easy Steps to Optimize Obfuscate, Reduce Android & iOS File Size, maintain a good user experience and protect your mobile app code – No coding, No SDK.
This Knowledge Base article provides step-by-step instructions for implementing Binary Code Obfuscation with the Favor App Size setting enabled. With this setting enabled, Appdome will automatically detect and exclude publicly available elements from being obfuscated to reduce overall application package size.
We hope you find this knowledge base useful and enjoy using Appdome!
Appdome is a no-code mobile security and integration platform that allows users to add security features, like RASP, code obfuscation, data encryption and more, as well as mobile threat, mobile fraud, anti-bot and other SDKs and APIs to Android and iOS apps. This KB describes how to use Appdome’s simple ‘click to build’ user interface to quickly and easily build Code Obfuscation with the optional “Favor App Size” feature enabled.
There are no development or coding prerequisites to use obfuscate mobile apps using Appdome. For example, there is no SDK, no libraries, or plug-ins to implement. Likewise, there is no requirement to mark, symbol or manually obfuscate code inside Android or iOS apps. Appdome’s technology automatically obfuscates the mobile app binary using multiple obfuscation methods, giving you the same outcome as if you had done this work manually. Appdome’s mobile app binary code obfuscation modifies the mobile application binary code to make it unrecognizable by reverse-engineering tools such as IDA-Pro and Hopper. Using Appdome, there is no development work required to implement code obfuscation.
Optimize Obfuscation – reduce iOS & Android app File Size
Obfuscation decreases the efficiency of compression algorithms, so obfuscating all the code in the app may increase its file size significantly. You can enable Favor App’s Size to keep publicly available elements unobfuscated in order to decrease the size of the built app.
If you enable Favor App Size, the following libraries will remain unobfuscated:
Open Source Libraries:
Libraries | Comment |
libstlport_shared.so | https://developer.android.com/ndk/guides/cpp-support |
libiconv.so, libzbarjni.so | https://github.com/dm77/ZBarScanner |
libtool-checker.so | https://github.com/scottyab/rootbeer |
libcrashlytics.so, libcrashlytics-envelope.so | https://try.crashlytics.com/sdk-android |
libfirebase.so | https://github.com/firebase/firebase-android-sdk |
libmpdf.so | https://github.com/mpdf/mpdf |
libj2v8.so | https://github.com/eclipsesource/J2V8 |
libjniPdfium.so, libmodpdfium.so | https://pdfium.googlesource.com/pdfium |
libopencv_imgproc.so, libopencv_core.so, libopencv_java3.so | https://opencv.org |
Xamarin Libraries
libmonodroid.so, libmono-btls-shared.so, libmonosgen-2.0.so, libe_sqlite3.so
React Native
libfb.so, libfolly_json.so, libglog.so, libglog_init.so, libgnustl_shared.so, libicu_common.so, libimagepipeline.so, libjsc.so, libprivatedata.so, libreactnativejni.so, libyoga.so. libc++_shared.so
Unity
libunity.so, libil2cpp.so, libcri_ware_unity.so, libgpg.so
Cordova
libxwalkcore.so, libxwalkdummy.so, libsqlcipher.so
IMPORTANT: Some applications which come with anti-tampering might clash with Appdome’s binary code obfuscation. Read this article to learn about Appdome’s Anti-Tampering functionality.
How to Add Binary Code Obfuscation to iOS and Android apps
Follow these step-by-step instructions to add Mobile App Binary Code Obfuscation to Any Mobile App:
- Upload a Mobile App to Your Account.
Follow these steps to add a mobile app to your Appdome account.If you do not yet have an Appdome account, click here to create an account. - Go to Build > Security tab.
- From within TOTALCode™ Obfuscation, enable Binary Code Obfuscation.
- Enable (toggle on) Favor App’s Size (Android only, see below) can also be enabled with Binary Code Obfuscation.
- Click Build My App.
The technology behind Build My App has two major elements – (1) a microservice architecture filled with 1000s of code sets needed for mobile integrations, and (2) an adaptive code generation engine that can recognize the development environment, frameworks and methods in each app and match the app to the relevant code-sets needed to add the requested service to the mobile app in seconds.
Congratulations! When your integration is complete, you will see the notice below. You now have a mobile app fully integrated with Binary Code Obfuscation.
How to Sign & Publish Secured Mobile Apps Built on Appdome
After successfully securing your app using Appdome, there are several available options to complete your project, depending on your app lifecycle or workflow. These include:
- Signing Secure iOS and Android apps
- Customizing, Configuring & Branding Secure Mobile Apps
- Deploying/Publishing Secure mobile apps to Public or Private app stores
Or, see this quick reference Releasing Secured Android & iOS Apps built on Appdome.
How Do I Learn More?
For more details, read the binary Code Obfuscation KB.
Binary Code Obfuscation is just one of the many features TOTALCode™ can offer in terms of code obfuscation.
If you have any questions, please send them our way at support@appdome.com or via the chat window on the Appdome platform.
Prerequisites for Mobile app obfuscation using Appdome
In order to use Appdome’s no code implementation of Binary Code Obfuscation, such as Flow Relocation, you’ll need:
- Appdome account – IDEAL or Higher
- Mobile App (.ipa for iOS, or .apk for Android)
- Signing Credentials (e.g., signing certificates and provisioning profile)
Related articles
- Dex Control Flow Relocation, Anti-Reversing for Android Apps
- Obfuscate iOS Control Flows & Methods, Anti-Reversing iOS Apps
- Non-Native Code Obfuscation, Anti-Reversing for Android & iOS Frameworks
- Obfuscate Mobile Business Logic, Anti-Reversing in Android & iOS Apps
Thank you!
Thanks for visiting Appdome! Our mission is to make mobile integration easy. We hope we’re living up to the mission with your project. If you don’t already have an account, you can sign up for free.