React Native 切换监听端口(红屏:Unable to load from asset 'index & packager 卡在graph, done.)

开开心心开始编译运行,结果一个大红屏。。。
在这里插入图片描述

转头也发现我们的packager卡在了Loading dependency graph, done.
在这里插入图片描述
上网搜索,发现,我不是一个人。但是按照很多同仁的法子,我掉到了另一个坑。
也许你也看到很多同仁告诉你,你可以去这样做:

1、创建assets文件:mkdir android/app/src/main/assets
2、项目跟目录下执行: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/

爬过这个坑的我,告诉你,如果你这样做了,确实可以成功出现界面,但是你会发现你修改代码,一刷新,又是大红屏,然后你得重复上述方法,重新编译,循环往复,苦不堪言。

后来,我多次寻找发现了另一个解决方法,切换监听端口,重启一个packager。

大家也可以看一下自己的8081端口是否被占用,我就是被杀毒软件占用了。

如何切换监听端口呢?

此处感谢 houtrry,提供了方法。
这是原帖:https://blog.csdn.net/houtrry/article/details/63253325
我再拾人牙慧,这里简单介绍一下。

  1. 查看一下8081端口占用情况
    打开cmd窗口,输入命令

    netstat -aon|findstr 8081
    在这里插入图片描述
    得到进程号 2644
    查看进程,输入命令

    tasklist|findstr 2644
    在这里插入图片描述
    发现进程被占用。发现是杀毒进程,无法关闭。

  2. 修改监听端口
    找到MainActivity.java文件,原贴中没有说,我找了比较久。现在贴出来,供大家参考。
    在这里插入图片描述
    添加切换端口的代码。我切换成了8089端口。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        mPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        mPreferences.edit().putString("debug_http_host","10.65.150.2:8089").commit();//pc端ip地址
    }
    
  3. 修改命令的port(我自己的方法)
    修改adb端口号:adb reverse tcp:8089 tcp:8089
    使用带端口号的命令:react-native start --port 8089
    完成这两步,我还是没有成功,在packager里,确实修改了端口,但是在run-android的时候,发现还是在8081端口编译。
    后来发现是,react-native run-android 命令还是默认端口8081.

    索性,我修改了这些命令的默认端口,这样下次再输入命令的时候,就不需要带着端口号了。修改命令的默认端口号在node_modules里操作。

    在这里插入图片描述

    react-native start 的命令在server.js文件里。 具体路径为:
    MyApp >> node_modules >> react-native >> local-cli >> server >>server.js
    在这里插入图片描述
    这里要稍微耐心一点。修改你想要的默认端口号。
    在这里插入图片描述
    react-native run-android的命令在server.js文件里。 具体路径为:
    MyApp >> node_modules >> react-native >> local-cli >> runAndroid >>runAndroid.js
    在这里插入图片描述
    修改你想要的端口号。最下面,仔细找。
    在这里插入图片描述

这里坑的我很惨,花了很长时间,网上也没相关资料。现在总结一下,希望可以给小伙伴们一点参考。

猜你喜欢

转载自blog.csdn.net/qq_42184799/article/details/85266381