跳到主要内容

调试原生代码

访问日志

您可以通过在应用程序运行时,在终端中使用以下命令来显示 iOS 或 Android 应用程序的原生日志

shell
# For Android:
npx react-native log-android
# Or, for iOS:
npx react-native log-ios

您也可以通过 iOS 模拟器中的 调试 > 打开系统日志… 来访问这些日志,或者通过在设备或模拟器上运行 Android 应用程序时,在终端中运行 adb logcat "*:S" ReactNative:V ReactNativeJS:V 命令来访问。

💡 自定义原生日志

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

Android (Java/Kotlin)

在您的原生模块中,使用 Log 类添加可在 Logcat 中查看的日志

java
import android.util.Log;

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

要在 Logcat 中查看这些日志,请使用此命令,将 YourModuleName 替换为您的自定义标签

shell
adb logcat "*:S" ReactNative:V ReactNativeJS:V YourModuleName:D

iOS (Objective-C/Swift)

在您的原生模块中,使用 NSLog 来添加自定义日志

objective-c
NSLog(@"YourModuleName: %@", message);

或者,在 Swift 中

swift
print("YourModuleName: \(message)")

这些日志将在应用程序运行时显示在 Xcode 控制台中。

在原生 IDE 中调试

当使用原生代码时,例如编写原生模块时,您可以从 Android Studio 或 Xcode 启动应用程序,并利用原生调试功能(如设置断点等),就像构建标准原生应用程序一样。

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

Android Studio

在 Android Studio 中,您可以通过菜单栏上的“运行”选项,点击“附加到进程...”,然后选择正在运行的 React Native 应用程序来完成此操作。

Xcode

在 Xcode 中,点击顶部菜单栏上的“调试”,选择“附加到进程”选项,并在“可能的目标”列表中选择应用程序。