我试图在我的设备上首次运行我的第一个反应原生项目(android 4.2.2)。
我得到:
无法从资源index.android.bundle加载脚本
我使用的命令:
我在遵循React Native 教程 (在Linux上开发并针对Android)时遇到了同样的问题。
这个问题帮助我解决了以下步骤中的问题。
你可以通过将它们放在package.json
scripts
部分来自动执行上述步骤,如下所示:
"android-linux": "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 && react-native run-android"
然后你可以每次从你的命令行执行npm run android-linux
。
您可以按照官方页面上提到的指示来解决这个问题。 这个问题发生在真实的设备上,因为JS软件包位于您的开发系统上,而真实设备中的应用程序并不知道它的位置。
我遇到了一个真正的Android设备相同的问题。
解决scheme:基于Niltoid的这个答案
对于Mac用户:打开您的networking首选项,在这里您将获得您的本地IP。
使用npm版本4.3.0 react-native-cli版本2.01 react-native版本0.49.5
在项目目录中,
文件名已从index.android.js更改为index.js
确保你已经添加了/ path / to / sdk / platform-tools到你的pathvariables。
运行react-native run-android时,它会运行adb reverse tcp:<device-port> tcp:<local-port>命令将请求从设备转发到在您的计算机上本地运行的服务器。 如果没有findadb,你会看到类似的东西。
/bin/sh: 1: adb: not found Starting the app (.../platform-tools/adb shell am start -n com.first_app/com.first_app.MainActivity... Starting: Intent { cmp=com.first_app/.MainActivity }
如果您使用Windows,请按以下方式运行命令,或者如果出现错误“无法find条目文件index.android.js”
如果在运行react-native run-android
命令时,跟踪的第二行是
JS server not recognized, continuing with build...
这意味着应用程序打包程序无法启动,应用程序将无法加载,没有一些额外的步骤。 请注意,追踪结束仍然报告成功:
BUILD SUCCESSFUL
问题可能是一些端口冲突(在我的情况下,这是我完全忘记了默认的IIS网站)。 这个问题的另一个performance就是未能在Chrome中打开http://localhost:8081/debugger-ui
URL。
一旦端口冲突解决,跟踪将报告
Starting JS server...
那么会打开一个额外的节点窗口( node ...cli.js start
),并且应用程序将成功加载/重新加载。
之后,您应该能够通过http://localhost:8081/debugger-ui
在Chrome中打开debugging控制台。
如果你正在物理设备上运行你的应用程序,并得到这个错误
unable to load script from assets index.android.bundle
尝试运行命令:
adb reverse tcp:8081 tcp:8081
它为我工作…
在mac有同样的问题,花了2天后,我终于能够得到工作。
由于Emulator cellular data was turned off
,我得到unable to load script from assets index.android.bundle make sure your bundle is running
。
确保您的Emulator cellular data is turned on
通过执行此包服务器可以绑定index.android.js
。 希望它有助于处于发展阶段的人。
操作系统:Windows
尝试上述两种方法后解决此问题的另一种方法
(因为我安装的SDK 不在DEFAULT LOCATION中,比如C: users “user_name” appdata local sdk )
如果你注意到命令行宣布:“'adb'不是…”
所以这是我如何克服:
例子:我在D: Android sdk中安装了SDK
所以我会在System Variables 2中插入更多的行:
D:Androidsdktools D:Androidsdkplatform-tools
(如果你不知道如何编辑path系统variables,这里的主题: https : //android.stackexchange.com/questions/38321/what-do-i-type-in-path-variable-for-adb-服务器启动从cmd / 38324 )
然后我再次运行cmd: react-native run-android
它为我工作。
这个问题也可能是由于设备/仿真器的蜂窝数据被closures造成的。 确保你检查。
对于这个错误:“无法从资产加载脚本'index.android.bundle'”
1)。 检查“assets”文件夹:mkdir android app src main assets
如果文件夹不可用,请手动创build名称为“资产”的文件夹。 并在terminal执行Curl命令。
2)。 curl命令:curl“ http:// localhost:8081 / index.android.bundle?platform = android ”-o“android / app / src / main / assets / index.android.bundle”
它会自动在assets文件夹中创build“index.android.bundle”文件并解决问题。
3)。 react-native run-android
即使在模拟器上运行,也有同样的问题。 我做了一个快速的解决方法,以便我可以有正常的开发工作stream程。
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { @Override public boolean getUseDeveloperSupport() { // return true here to load JS from the packager // BuildConfig.DEBUG for me was set to false which meant it // it was always trying to load the assets from assets folder. return true; } @Override protected String getJSMainModuleName() { return "index"; } };
尝试进行生产构build时可能将不得不恢复更改。
当我更新反应原生0.49.5,这个问题出现,当我跟着这个突破更改和弃用
它消失了。
以上就是android开发分享无法在Windows上从资产index.android.bundle加载脚本相关内容,想了解更多android开发(异常处理)及android游戏开发关注(计算机技术网)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/addevelopment/513921.html