Gob*_*oba 333 android react-native react-native-android
我正试图在我的设备上第一次运行我的第一个React Native项目(Android 4.2.2).
我得到:
无法从资产index.android.bundle加载脚本
我使用的命令:
cd (project directory)react-native startreact-native run-android小智 914
我在遵循React Native 教程(在Linux上开发并定位Android)时遇到了同样的问题.
此问题帮助我解决了以下步骤中的问题.
mkdir android/app/src/main/assetsreact-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/resreact-native run-android您可以通过将它们放在以下scripts部分中来自动执行上述步骤package.json:
"android-linux": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res && react-native run-android"
Run Code Online (Sandbox Code Playgroud)
然后,您可以npm run android-linux每次都从命令行执行.
小智 121
如果您在物理设备上运行应用程序并收到此错误
unable to load script from assets index.android.bundle
Run Code Online (Sandbox Code Playgroud)
尝试运行命令:
adb reverse tcp:8081 tcp:8081
Run Code Online (Sandbox Code Playgroud)
它适用于我......
neu*_*nap 78
我花了好几个小时试图解决这个问题.我的问题不是特定于Windows,而是特定于Android.
访问开发服务器在本地和模拟器的浏览器中工作.唯一不起作用的是访问应用程序中的开发服务器.
从Android 9.0(API级别28)开始,默认情况下禁用明文支持.
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
...
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅:https: //stackoverflow.com/a/50834600/1713216
Dar*_*nia 59
使用npm版本4.3.0 react-native-cli版本2.01 react-native版本0.49.5
在项目目录中
mkdir android/app/src/main/assetsreact-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/resreact-native run-android文件名已从index.android.js更改为index.js
Led*_*ine 21
如果您使用的是Windows,请按以下方式运行命令,或者如果收到错误"无法找到条目文件index.android.js"
mkdir android\app\src\main\assetsreact-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
react-native run-android
小智 15
在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.希望它对处于开发阶段的人有所帮助.
Ste*_*sse 13
我已经有几个月的同样问题了.我最初使用@Jerry的解决方案,但这是一个错误的解决方案,因为它没有完全解决问题.相反,它所做的是将每个构建作为生产构建,这意味着您在应用程序中进行的任何轻微更改都意味着重建整个应用程序是必要的.
虽然这是一个时间解决方案,但从长远来看它可以工作,因为你不再能够利用React Native的热门重新加载等惊人的开发工具.
显示了一个合适的解决方案:
在您的MainApplication.java文件中,替换以下内容:
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
Run Code Online (Sandbox Code Playgroud)
同
@Override
public boolean getUseDeveloperSupport() {
return true;
}
Run Code Online (Sandbox Code Playgroud)
由于某种原因,BuildConfig.DEBUG总是返回false并在assets目录中生成一个bundle文件.
通过手动将此设置为true,您将强制应用程序使用打包程序.这将无法在生产中使用,因此请务必将其更改为false或默认值.
别忘了跑
$ adb reverse tcp:8081 tcp:8081
Run Code Online (Sandbox Code Playgroud)
操作系统:Windows
尝试上述两种方法后解决此问题的另一种方法
(因为我安装的SDK 不在DEFAULT LOCATION中,如C:\ users \"user_name"\ appdata\local\sdk)
如果您注意到该命令行已宣布:"'adb'未被识别为内部或外部命令......"
所以这就是我的结果:
示例:我在D:\ Android\sdk中安装了SDK
所以我将在系统变量中插入路径2更多行:
D:\Android\sdk\tools
D:\Android\sdk\platform-tools
Run Code Online (Sandbox Code Playgroud)
(如果您不知道如何编辑路径系统变量,请访问以下主题:https://android.stackexchange.com/questions/38321/what-do-i-type-in-path-variable-for-adb- server-to-start-from-cmd/38324)
然后我再次运行cmd: react-native run-android
它对我有用.
小智 9
1进入项目目录并检查该文件夹是否存在 android/app/src/main/assets
index.android.bundle与index.android.bundle.meta2.从您的根项目目录执行
cd android && ./gradlew clean
Run Code Online (Sandbox Code Playgroud)
3.最后,导航回到根目录并检查是否存在一个名为index.js
如果只有一个文件,即index.js,则运行以下命令 react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
如果有两个文件,即index.android.js和index.ios.js,则运行此文件 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对于IOS:
在终端:
cd ios
Run Code Online (Sandbox Code Playgroud)
删除构建文件夹: rm -r build
再次运行: react-native run-ios
或者,您可以打开Finder,浏览到YOUR_PROJECT/IOS和删除的构建 文件夹.
然后又跑了: react-native run-ios
对于ANDROID:
在终端:
cd android/app
Run Code Online (Sandbox Code Playgroud)
删除构建文件夹: rm -r build
再次运行: react-native run-android
或者,您可以打开Finder,浏览到YOUR_PROJECT /安卓/应用程序,并删除了建立 文件夹.
然后又跑了: react-native run-android
对于这个问题,我只需要运行以下命令即可解决:
react-native start
Run Code Online (Sandbox Code Playgroud)
然后
adb reverse tcp:8081 tcp:8081
Run Code Online (Sandbox Code Playgroud)
在命令行上。然后我可以运行:
react-native run-android
Run Code Online (Sandbox Code Playgroud)
因此,我不会浪费时间运行:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
Run Code Online (Sandbox Code Playgroud)
每次。
小智 5
我在 Mac 上遇到 McAfee 阻止端口 8081 的问题,必须将其更改为 8082。
首先运行你的包服务器:
react-native start --port 8082
Run Code Online (Sandbox Code Playgroud)
打开另一个终端,照常启动 Android 应用程序:
react-native run-android
Run Code Online (Sandbox Code Playgroud)
完成后,现在重写 adb 隧道的 tcp 端口:
adb reverse tcp:8081 tcp:8082
Run Code Online (Sandbox Code Playgroud)
查看 adb tcp 隧道列表:
adb reverse --list
Run Code Online (Sandbox Code Playgroud)
您现在应该看到一条温馨的消息:
(reverse) tcp:8081 tcp:8082
Run Code Online (Sandbox Code Playgroud)
转到您的应用程序并重新加载,完成!
PS:不要更改应用程序开发设置中的任何内容,如果添加了“localhost:8082”,只需将其删除,将其留空即可。
编辑:对于所有 McAfee 受害者,如果您具有 root 访问权限,则有更简单的解决方案,只需暂时终止端口 8081 上的 McAfee 进程,根本不需要更改端口:
sudo launchctl remove com.mcafee.agent.macmn
Run Code Online (Sandbox Code Playgroud)
我也遇到了这个问题,因为当我在模拟器上运行项目时,它工作正常,但在真实设备上却出现了这个错误。所以我通过以下解决方案解决了这个问题
第一步:首先打开 cmd 并转到您的 SDK 管理器 Platform-tools 文件夹
cd C:Development\Android\Sdk\Platform-tools
Run Code Online (Sandbox Code Playgroud)
第二步:现在运行这个命令:
adb devices
Run Code Online (Sandbox Code Playgroud)
执行此命令后,请检查命令提示符中列出的设备
第三步:现在运行这个
adb reverse tcp:8081 tcp:8081
Run Code Online (Sandbox Code Playgroud)
现在您的设置已完成
第 4 步:转到您的项目目录并运行此命令
react-native run-android
Run Code Online (Sandbox Code Playgroud)
乌班图
第一次,我用react-native init project-name. 我遇到了同样的错误。所以我按照以下步骤来解决我的情况。
sudo chown user-name-of-pc /dev/kvm以我的情况运行。从 Android 手机进行调试时,选择Use USB to Transfer photos (PTP)。
assets在项目名称/android/app/src/main 中创建文件夹
index.js可进入您的项目root 目录,然后在cd project-name目录后从控制台运行以下命令。
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
或者对于index.android.js 那么
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
./studio.sh在目录中运行命令android-studio/bin。它将打开 Android Studio。
运行命令react-native run-android。
确保 Metro Builder 正在运行以使您的物理设备和服务器同步
首先,运行此命令来运行 Metro builder
npm 启动
然后就可以在React Native中开始构建了
反应本机运行 Android
这次他们应该不会出错了。如果您希望代码在更改时实时重新加载。摇动您的设备,然后点击启用实时重新加载
小智 5
就我而言,我从MainApplication.java中删除了下面的行。(以前我是错误地添加的。):-
导入com.facebook.react.BuildConfig;
在清理项目并点击命令后
react-native运行Android
| 归档时间: |
|
| 查看次数: |
290537 次 |
| 最近记录: |