I have an Android App I downloaded and installed, I have also extracted the APK,
Is there some way from the apk file to tell what programming language was used to write the program?
Are there any tools are available to help with this?
What languages can be determined and which ones cannot?
First you should find the package name of the app you want to pull from the device. You can use my Android app Power Apk to do this. An alternative way would be to go through each package and dump its manifest with the aapt2 tool which is also part of Android SDK.
Java was the default language to write Android apps since the Android platform was introduced in 2008. Java is an object-oriented programming language that was originally developed by Sun Microsystems in 1995 (now, it is owned by Oracle).
You can do a reverse engineering : (https://www.apkdecompilers.com/ or http://www.javadecompilers.com/apk) decompile the apk and see the code and its programming language.
Normally most android app is build using the following texhnologies:---
To determine the technology, you need to decompile the app first using this link
Then look for "assets" folder. Normally, asset folder should be present at the very top of application hierarchy.
Then you can determine the app technology by the following prediction:--
If asset folder is present and there have any file with the extension ".bundle"(mainly the file name is "index.android.bundle") then the app is build using React Native.
If the assets folder contain a folder name "www" and "assets/www" contain the following file/folder structure then it is a cordova app.
If neighter 1 or 2 is true then the app may be written using native code, i.e using java/kotlin
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With