我用react native编写了一个应用程序,但是偶然地在开发快要结束时,我的HDD崩溃了,现在我只有APK文件,我能否仅从该apk文件中检索react native代码?
答案 0 :(得分:7)
否,恐怕您无法检索您的React本机代码,就好像您对apk文件进行反编译一样,它会返回android的Java代码,但没有React本机代码。
因为,React Native将代码转换为本地语言,具体取决于您要构建其Android还是ios的操作系统。
答案 1 :(得分:0)
在解压缩apk文件时,在资产文件夹内,index.android.bundle文件是捆绑的react源代码。将index.android.bundle重命名为something.js
由于something.js是一个捆绑文件(最小/已丑化),请使用一些unuglifier / jsbeautifier使其可读。 (也请检查jsnice)
总比没有好。
答案 2 :(得分:0)
不,您无法检索实际代码,但可以获取一些反编译代码
brew install apktool
apt-get install -y apktool
您可以阅读窗口DOCS的安装步骤
after install `apktool`, unzip apk file by run this command on terminal like this:
apktool d /pathOfApkFile.apk
After that you will get `index.android.bundle` file at `pathOfApkFile/assets/index.android.bundle`
than you can use [react-native-decompiler][1] for decompile `index.android.bundle` file
## Decompile `index.android.bundle` File
you can decompile `index.android.bundle` by run this command
npx react-native-decompiler -i ./index.android.bundle -o ./output
after that, you will get **JS decompiled file** in `./output` directory
[1]: https://www.npmjs.com/package/react-native-decompiler