iti*_*nce 7 java android android-studio react-native react-native-android
这个问题不是关于如何调试React-Native 应用程序的 javascript-land。它是关于如何在 node_modules-folder 中调试本机库(在这种情况下意味着:JAVA-Code)。
虽然我很容易用 XCode 调试 RN-Applications 的原生 iOS 部分,但我偶然发现了 Android Studio 的各种问题......主要是,将项目导入 Studio 后 node_modules-Folder 不存在,为什么不能设置断点来调试通过。
1. 创建新的 React Native 项目:
react-native init debugTest
Run Code Online (Sandbox Code Playgroud)
2. 使用您想要本地调试的本地代码安装第三方库
cd debugTest &&
react-native install react-native-sqlite-storage
Run Code Online (Sandbox Code Playgroud)
3.确保一切都能在android端正常工作:
启动 GenyMotion
启动 AVD
在终端中使用此命令运行应用程序:
react-native run-android
(这将打开打包程序以及传输 js-bundle 所需的所有其他内容)。如果想省略这一步,需要手动启动打包程序:
node node_modules/react-native/local-cli/cli.js start
Run Code Online (Sandbox Code Playgroud)
4.启动Android Studio
如果您想使用 Android Studio 处理本机代码,请从 Android Studio 的欢迎屏幕中选择“导入项目”并选择您的应用程序的 android 文件夹。
5. Android Studio 要求将 gradle 版本从预配置的 1.3.2更新到 2.2.2。我首先在整个工作流程中拒绝了它,后来我尝试了它(两者对我来说都没有太大区别)
6.由于此问题,必须停用Instant Run
7.点击Android Studio工具栏中的“运行”或“调试”
到目前为止一切正常。我能够在 MainApplication.java::onCreate 中设置一个断点,然后可以进入这个方法。
调试器挂在源代码注释中的其他地方,但不是在选择执行的那一行。
自版本 23 以来,我已经安装了所有 SDK 和构建工具以及 NDK 和其他所有内容:
如何使用 Android Studio 调试本机应用程序的 node_modules-Folder 中存在的本机库,因为它们在 AS 中不可见,因此无法传递断点?
最后我找到了根本原因。对我来说,它不起作用,因为我想调试的库没有显示在 Android Studio 中。但这是我自己的错误,因为库没有正确设置,为什么 gradle 无法注意到它。
所以,这个问题可以像博客文章一样使用如何正确地做(如果第 3 方库使用“rnpm-link”或“react-native link”开箱即用就足够了)[这不是在我的例子中的情况]
| 归档时间: |
|
| 查看次数: |
2798 次 |
| 最近记录: |