AidLux运行Vue等前端项目失败或无法使用热更新解决方案

问题

在AidLux平台运行Vue等前端项目时经常会出现上面这种情况,原因是Vue这类前端框架默认使用了热更新功能,在进行项目开发时会监听依赖的文件。该配置项为fs.inotify.max_user_watches:同一用户同时可以监听的文件数。在我们的PC电脑上该配置的数额一般较大,但在Android上,只有8192,如果我们同时开启了多个APP再加上前端项目依赖较多,就很容易超过改数额了。

解决

注意:由于该配置项为Android系统内核的配置,所以需要设备获取root权限,没有root权限则无法修改。

不同设备获取root权限的方法和渠道不同,请自行百度自己的设备是否可以root及方法。

1. 打开开发者选项,电脑下载adb工具

针对各自的设备搜索打开开发者选项的方法,一般是多次点击设置中关于本机UI版本。

关于adb

2. 查看当前的文件监听具柄数

使用adb devices查看当前连接的设备

adb devices
# output
List of devices attached
RF8M52PE7RV	device

查看当前的文件句柄监听数:

adb -s RF8M52PE7RV shell "su -c cat /proc/sys/fs/inotify/max_user_watches"
# output
8192

这里的8192就是Android默认的文件监听具柄数的大小了。

3. 修改文件监听具柄数

adb -s RF8M52PE7RV shell "su -c 'echo 524288 > /proc/sys/fs/inotify/max_user_watches'"

设置完成后,再次使用命令查看一下是否修改成功:

adb -s RF8M52PE7RV shell "su -c cat /proc/sys/fs/inotify/max_user_watches"
# output
524288

看到数额变了就代表修改成功了,我们回到AidLux中再运行Vue项目就不会出现上述情况了,并且热更新也能正常使用。

在vscode修改代码内容,本机查看也能实时更新:

666

补充说明,如果无法root的话,建议可以用闲置手机,尽可能的卸载掉所有预装的APP,这样也能运行一些中小型的前端项目。

1 个赞