安卓手机启动http-server 访问静态html - termux nodejs
安卓手机启动http-server 访问静态html - termux nodejs
需求
静态页面手机访问,直接访问html会有权限问题,要将资源全部base64嵌入html,小文件还行。最近有个350M的mp3,要是嵌入到html,base64就太大了。
上下文环境
我的手机是华为手机
方案 termux
-
安装termux
安装页面 https://f-droid.org/en/packages/com.termux/
Version 0.119.0-beta.2 (1021) - Added on Apr 05, 2025
https://f-droid.org/repo/com.termux_1021.apk -
进入termux安装 nodejs
- 让app有读写权限:termux-setup-storage
- 更新软件源(需要上梯子): pkg update
- 安装node:pkg install nodejs
- 安装server: npm install -g http-server
- 在根目录创建脚本:nano ~/s.sh
# 这里shared目录就是我手机里的根目录,我在手机的sd卡里面根目录创建了root目录,里面有个aaaWeb目录
cd storage/shared/root/aaaWeb
http-server -o
- 退出编辑脚本:Ctrl + 大写X 然后y 然后回车 退出编辑
- 设置app启动命令: nano ~/.bashrc
- 进入编辑 添加:
bash ~/s.sh
- Ctrl + 大写X 然后y 然后回车 退出编辑
- 给权限: chmod +x ~/s.sh
使用过程
- 手机桌面点击 termux app图标,自动启动http-server服务,自动打开浏览器,html目录是/root/aaaWeb/index.html
- 如果临时要操作termux,就进入后ctrl+c
其他
- http-server 退出快捷键 ctrl+c
app套壳启动
http-server -o 不用浏览器启动 然后用自己的app启动访问 http://127.0.0.1:8080/
nano ~/s.sh
命令改为
http-server
am start -n aaa.aaaWeb.hengping2apk/.MainActivity
这个失败了~
http-server 缓存问题
ctrl+c 退出
nano ~/s.sh
http-server -c -1 -p 8080
ctrl+x y 回车
缓存问题没解决~~
安卓端设置
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
解决了
上的解决方案不行,3d场景的js 运行几下就崩了,改成下面的代码 解决了
webView.clearCache(true); // 清空资源缓存
webView.clearHistory(); // 清空历史记录
webView.clearFormData(); // 清空表单数据
还是设置缓存,每次app打开的时候,清空一下缓存。
---------------------------------------------
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)
生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
https://pengchenggang.gitee.io/navigator/
SMART原则:
目标必须是具体的(Specific)
目标必须是可以衡量的(Measurable)
目标必须是可以达到的(Attainable)
目标必须和其他目标具有相关性(Relevant)
目标必须具有明确的截止期限(Time-based)