首页 文章

使用来自远程主机的捆绑包加载Android的ReactNativeHost

提问于
浏览
3

我已经预编译了我的react-native包并将其上传到我的服务器(假网址):

http://my-bundle-server.com/index.android.bundle.js

对于iOS,我可以使用该位置创建一个视图,它可以正常工作:

jsCodeLocation = "http://my-bundle-server.com/index.android.bundle.js";
 RCTRootView *rootView = [[RCTRootView alloc]
     initWithBundleURL:jsCodeLocation                                                      
     moduleName:@"MyCoolComponent"
     initialProperties:nil                                                  
     launchOptions:launchOptions];

使用Android它's a different story, I couldn't找到一种方法我可以为远程包定义该路径 . 我找到了 ReactNativeHost 的文档,并试图设置 getJSBundleFile ,但它给了我'无法加载文件'http://....js':

https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/ReactNativeHost.java

返回捆绑文件的自定义路径 . 这应用于应从自定义路径加载包的情况 . 默认情况下,它是从{@link getBundleAssetName}指定的路径从Android资产加载的 . 例如“文件://sdcard/myapp_cache/index.android.bundle”

它似乎不适用于远程位置 . 值得一提的是,我正在Application中创建我的主机,所以我可以在我的应用程序的不同片段中重用它 .

如何定义要为Android应用加载的预编译捆绑位置?

1 回答

相关问题