我正在尝试在设备上以调试模式运行我的react native android应用,而无需在dev框上运行dev服务器.我已经在两个平台上都使用了deBUG变体/方案来简化我们应用的“ staging”版本,因为我已经读到,react native对发行和调试以外的构建模式不是超级友好.
在iOS方面,我能够按如下方式修改AppDelegate.m …基本上,如果它是调试版本,并且是由buddybuild构建的,则不要为Js捆绑寻找开发机,而要寻找设备:
#ifdef DEBUGNSDictionary *infoPListDict = [[NSBundle mainBundle] infoDictionary];if (infoPListDict[@"BUDDYBUILD_BUILD_ID"]) { // deployed via buddybuild, don't use localhost JsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"Jsbundle"];} else { JsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle?platform=ios&dev=true"];}#else JsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"Jsbundle"];#endif
…我正在寻找一种在androID上执行此 *** 作的方法.我有需要的buddybuild代码,因此不用担心,我只想知道如何像上面在AppDelegate.m中为iOS所做的那样,以编程方式更改androID上Js包的位置.现在,所有与Js捆绑包在androID上的位置相关的代码似乎都在react-native包本身中,而我不希望破解它以使其正常工作.
如果我可以提供更多信息,请告诉我.
解决方法:
在AndroID上,您需要修改androID / app / build.gradle.
在“ ../../node_modules/react-native/react.gradle”行中进行应用之前,您需要告诉打包程序捆绑Js资产,并在部署APK时将其包括在内.
例如:
project.ext.react = [ bundleInBuddybuild: true,]
语法为bundleIn ${productFlavor} ${buildType}
或者,如果您只是想将其用于调试版本:
project.ext.react = [ bundleInDeBUG: true,]
总结 以上是内存溢出为你收集整理的React Native Android-如何仅在设备上以调试模式运行?全部内容,希望文章能够帮你解决React Native Android-如何仅在设备上以调试模式运行?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)