问题
在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修改代码内容,本机查看也能实时更新: