首页 文章

反应原生包的原生部分可以独立运行和开发吗?

提问于
浏览
9

跨平台react-native软件包具有本机android代码,本机iOS代码和javascript代码,可将它们连接到javascript世界 .

大概在处理这样一个包的原生部分时,你可以将它们导入各自的IDE(android-studio和Xcode),并在IDE中进行UI开发 .

当我将react-native软件包作为一个整体查看,或者将本机部分导入到它们各自的IDE中时,所说的本机部分似乎没有独立运行...至少不是作为独立的android或ios应用程序 .

我的问题是如何使用本机IDE导入/构建/运行/调试本机响应包的本机部分?你通常还需要反应原生服务器和休息javscript桥接代码来运行吗?

我正在尝试修改本机部分的特定包是react-native-datetime . 我希望能够将android部分导入android-studio并找出如何运行和修改其中一个选择器 .

2 回答

  • 4

    如果您创建一个静态的js文件包以便在您的应用程序中使用,您将能够运行该应用程序而无需保持js服务器运行 . 然后,您应该能够使用项目目录中的 android 文件夹(对于android)使用编辑器/ IDE处理本机代码 .

    要为android创建脱机包:

    react-native bundle --platform android --dev false --entry-file index.android.js \ --bundle-output android/app/src/main/assets/index.android.bundle \ --assets-dest android/app/src/main/res/

    这应该为 android/app/src/main/assets/ 下的javascript代码创建一个静态包 index.android.bundle

    一种更简单的方法是做

    curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
    

    来自构建目录 .

  • 2

    React Native项目在其根文件夹上有两个其他目录: androidios ,它们分别具有Android(您可以像安装任何其他Android项目一样使用Android Studio打开它)和XCode iOS项目 .

    我会说反应包装器需要打开,以便应用程序可以获取JS文件 . 我只是尝试关闭它并单独在XCode上运行应用程序,它在终端窗口之前打开了打包器 .

    我的建议是:创建一个空项目,导入该 react-native-datetime 包,在主屏幕上使用它,并在Android Studio或XCode本地使用它,如果这是一个选项 .

相关问题