进阶 reactnative.dev 2026-10-11 06:04:21 · 29 阅读

第29章 React Native 原生代码调试指南

版本:0.77 调试 Native Code 仅适用于含 Native Code 的项目

以下内容仅适用于暴露了 native code 的项目。如果你使用的是托管的 Expo 工作流,请参阅 prebuild 指南以使用此 API。

访问日志 在应用运行时,你可以使用终端中的以下命令来显示 iOS 或 Android 应用的 native 日志:

# 对于 Android: npx react-native log-android

# 或者,对于 iOS: npx react-native log-ios

你也可以通过 iOS 模拟器的“Debug > Open System Log…”访问这些日志,或者在 Android 设备或模拟器上运行应用时,在终端中执行 `adb logcat "*:S" ReactNative:V ReactNativeJS:V`。

💡 自定义 Native 日志 如果你正在编写 Native Module,并希望为调试目的向模块添加自定义日志,可以使用以下方法:

Android (Java/Kotlin) 在你的 native 模块中,使用 Log 类添加可在 Logcat 中查看的日志:

Java import android.util.Log;

private void log(String message) { Log.d("YourModuleName", message); }

要在 Logcat 中查看这些日志,请使用以下命令,并将 YourModuleName 替换为你自定义的 tag: adb logcat "*:S" ReactNative:V ReactNativeJS:V YourModuleName:D

iOS (Objective-C/Swift) 在你的 native 模块中,使用 NSLog 进行自定义日志:

Objective-C NSLog(@"YourModuleName: %@", message);

或者,在 Swift 中: Swift print("YourModuleName: \(message)")

运行应用时,这些日志会出现在 Xcode 控制台中。

在 Native IDE 中调试 在处理 native 代码时(例如编写 native modules),你可以从 Android Studio 或 Xcode 启动应用,并利用 native 调试功能(如设置断点),就像构建标准 native 应用一样。

另一种选择是使用 React Native CLI 运行你的应用程序,并将 native IDE(Android Studio 或 Xcode)的 native 调试器附加到该进程。

Android Studio 在 Android Studio 中,你可以选择菜单栏中的“Run”选项,点击“Attach to Process...”并选择正在运行的 React Native 应用来执行此操作。

Xcode 在 Xcode 中,点击顶部菜单栏的“Debug”,选择“Attach to process”选项,然后在“Likely Targets”列表中选择该应用程序。

评论 (0)