我有一个React Native项目,大约有3到4个屏幕。
在反编译生成的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/
谢谢
首先,您必须安装APKTOOL
,然后您必须解压缩apk
,然后您必须按如下方式反编译js代码
brew install apktool
apt-get install -y apktool
您可以阅读Windows文档的安装步骤
安装apktool
后,通过在终端上运行以下命令解压缩apk文件:
apktool d /pathOfApkFile.apk
之后,您将在pathOfApkFile/assets/index.android.bundle
比你可以使用react-nate-decPiler来反编译index.android.bundle
文件
您可以通过运行以下命令来反编译index.android.bundle
npx react-native-decompiler -i ./index.android.bundle -o ./output
之后,您将在/output
目录中获得JS反编译文件
React Native不会将组件编译为本机Android类。
这里有一个类似的问题:
React Native是否为Android将JavaScript编译成Java?
问题内容: 如何使用javac在Unix上的所有子文件夹中编译所有java文件? 问题答案: 使用诸如Ant或Maven之类的构建工具。与使用UNIX工具相比,这两种方法都可以使您以更好的方式管理依赖关系。And和Maven都还允许您定义除编译之外要执行的自定义任务。Maven还附带了用于管理远程存储库中的外部依赖项的约定,以及用于运行单元测试和支持连续集成的功能的约定。 即使您只需要偶尔编译一次
我得到的是: HelloWorld: inner.java 内部2.Java 现在我要做的是编译这个,这样我就可以运行了。 我可以用以下方法编译它: 但我想使用一个不需要列出每个子文件夹的通用命令。我该怎么做?
我从start.spring生成了一个gradle项目。io使用spring初始化器,并在其中添加了几行,以打印出典型的hello world消息以及url的名称。当在本地主机8080上从intellij idea运行时,它可以正常工作。但是jar文件在哪里?我选择了jar打包并添加了web依赖项。我的印象是,这将生成一个jar文件,包括我可以“只运行”的web服务器。我错过了什么?
问题内容: 我想知道为什么我们通过编译显示“ Hello,World!”的.c文件得到.o文件。是否大于Java .class文件,该文件也显示“ Hello,World!”? 问题答案: Java使用字节码来独立于平台并进行“预编译”,但是字节码由解释器使用并且被提供为足够紧凑,因此您在已编译的C程序中看到的机器代码并不相同。只需看一下Java编译的完整过程即可: 这是Java程序到机器代码转换
问题内容: 我可以使用什么程序反编译类文件?我实际上会得到Java代码,还是仅仅是JVM汇编代码? 关于此站点上的Java性能问题,我经常看到“反编译” Java类文件以了解编译器如何优化某些东西的人们的回答。 问题答案: 有一些反编译器…快速搜索结果: Procyon: open-source (Apache 2) and actively developed Krakatau: open-so
问题内容: 有没有办法编译一个node.js应用程序? 问题答案: 我可能已经很晚了,但是您可以使用“ nexe”模块在一个可执行文件中编译nodejs +您的脚本:https : //github.com/crcn/nexe