For Macbook
brew install apktool
After installing apktool, unzip the APK file by running this command in the terminal like this:
apktool d /pathOfApkFile.apk
After that, you will get the index.android.bundle file at pathOfApkFile/assets/index.android.bundle.
Then you can use react-native-decompiler to decompile the index.android.bundle file.
Decompile index.android.bundle File
You can decompile index.android.bundle by running this command:
npx react-native-decompiler -i ./index.android.bundle -o ./output
After that, you will get the JS decompiled file in the ./output directory.
JS Code Decompile
React Native is already uglifying JS code.
And react-native-obfuscating-transformer also makes the code more complex by uglifying it.
It is something like MD5 and SHA256 encryption, and there is no tool available right now to use machine learning or brute force to give us the estimated code.
If you want to verify whether react-native-obfuscating-transformer is implemented or not, then you can edit index.android.bundle, save the code, implement react-native-obfuscating-transformer, and edit and compare both files.
You can make more uglified code by adding a flag in build.gradle called bundleInRelease: true and adding Hermes, which turns the JS bundle into bytecode for efficiency.
REF
Note: There is no way to fully decompile index.android.bundle because this file contains uglified code, which has many possible reverses for one line.
Java Code Decompile
You can use DEX2JAR to convert the APK to Java code, and you can view that code using JD-GUI.
You can see this VIDEO.