Search code examples
androidcordovareact-nativeapkhybrid-mobile-app

How to know if an android app is a hybrid app?


Is there a way to figure out how a specific Android application was built? (using frameworks like meteor, ionic, react native, cordova/phonegap or just pure native)

Are there ways to tell "by just looking at the app", or would one need to decompile the apk? If so, how would you know?

(obviously, one can always ask the author, but that's not fun!)


Solution

  • By looking to the contents of the APK file (not actually decompiling anything) it's quite easy to figure out.

    A web app will contain a lot of HTML files and javascript files like cordova.js.

    A Xamarin app will contain Mono native libraries and an "assemblies" folder containing DLL files.

    Visually on the device, you can usually tell if an app is not using native components if you notice a lack of standard widgets, UI elements with non-standard sizes, non-standard behavior like absence of ripple effects or pressed states in widgets that require no additional code to get those, slow loading of screens in "chunks" with no progress bars, slow app startup, etc. But it's not exact science and some frameworks make use of native components.