How to determine if an app is native or flutter

Viewed 5327

I would like to know whether a given mobile app is native or written using flutter. Is there any way to know that from the build files (apk, ipa.. etc). How can I detect if an app is native or flutter?

5 Answers

You can find whether an app is using flutter or not by using the following method,

  1. Extract the apk file. You can simply rename the file extension to .zip and extract it.
  2. Navigate to the lib folder.
  3. You will find a list of subfolders for different architectures.
  4. The subfolder will contain a libflutter.so file. This libflutter.so will be present in all flutter apps.

Here is a screenshot of the file from the Flutter Gallery app.

enter image description here

Simple solution:

  1. Activation of the tile:
  • Developer Options ON
  • Quick settings developer tiles
  • Show layout bounds​
  1. Open app, swipe down from the top of the screen and touch icon layout to enable show layout bound.

  2. Flutter app won't show small pieces layout of UI but Native app does.

  1. download and decode apk with apktool
java -jar apktool.*.jar d file.apk -o output
  1. open up AndroidManifest.xml in a text editor

  2. search for occurrences of flutter within the file

if using vim, at the terminal prompt,

vim +/flutter +"set hlsearch" AndroidManifest.xml

such occurrences could be flutter plugins and 'flutterEmbedding' which is responsible for integrating flutter within an Android app.

One can check from phone by enabling layout-bounds and if app show bounds around all component then it might be developed with native android or react native but in case of flutter it directly access canvas from native side and paints on it, so it will not show any bounds around the components due to direct use of canvas.

Here is demo of application developed with react-native/android. Snap of application build with android/react-native

and this one is developed with flutter. Snap of application build with flutter

Related