所有 React Native 编译的类文件在哪里?
Posted
技术标签:
【中文标题】所有 React Native 编译的类文件在哪里?【英文标题】:Where are all the React Native compiled class files? 【发布时间】:2021-02-16 18:02:49 【问题描述】:我有一个大约 3 或 4 个屏幕的 React Native 项目。
我反编译生成的android classes.dex文件后,只发现了两个Java类。如果 React Native 将您的组件编译为原生 Android 类是正确的,那么这些屏幕的所有 Android 类在哪里?
请注意:APK 已正确捆绑,因为它在 Android 设备上运行良好。
我还运行了以下命令来创建 APK:
react-native bundle --platform android --dev false --entry-file index.js \
--bundle-output android/app/src/main/assets/index.android.bundle \
--assets-dest android/app/src/main/res/
谢谢!
【问题讨论】:
我认为 React Native 不会将你的组件编译为原生 Android 类... 这里有类似的问题:Does React Native compile javascript into Java for Android? 嗨。谢谢!这正是我想要的。 你能不能给我答案***.com/a/65862210/8079868 【参考方案1】:React Native 不会将您的组件编译为原生 Android 类。
这里有一个类似的问题:
Does React Native compile JavaScript into Java for Android?
【讨论】:
【参考方案2】:首先你要安装APKTOOL
,然后你要解压apk
,然后你要反编译下面的js代码
安装apktool
适用于 Macbook
brew install apktool
适用于 Linux
apt-get install -y apktool
对于窗口
您可以阅读窗口DOCS的安装步骤
用法
安装apktool
后,在终端上运行以下命令解压缩apk文件:
apktool d /pathOfApkFile.apk
之后你会在pathOfApkFile/assets/index.android.bundle
获得index.android.bundle
文件
你可以使用react-native-decompiler 来反编译index.android.bundle
文件
反编译index.android.bundle
文件
你可以通过运行这个命令来反编译index.android.bundle
npx react-native-decompiler -i ./index.android.bundle -o ./output
之后会在./output
目录下得到JS反编译文件
【讨论】:
以上是关于所有 React Native 编译的类文件在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
为 React Native App 保存的静态图像/图片在哪里?