How to Optimize File Size, Code Obfuscation Best Practices in Android & iOS Apps

Last updated May 21, 2023 by Appdome

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:

  1. 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.
  2. Go to Build > Security tab.
  3. From within TOTALCode™ Obfuscation, enable Binary Code Obfuscation.
  4. Enable (toggle on) Favor App’s Size (Android only, see below) can also be enabled with Binary Code Obfuscation.
  5. Click Build My App.

favor app size when obfuscating code in ios and android apps using appdome

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.

Success Msg

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 

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:

Related articles

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

NEED HELP?

let's solve it together

OhadMaking your security project a success!
By filling out this form, you opt-in to recieve emails from us.