鸿蒙6/鸿蒙NEXT WebView套壳APP源码

鸿蒙6/鸿蒙NEXT WebView套壳APP源码

本文使用AI生成!


一、事情的起因(真实踩坑)

我之前一直在做一个网页项目,但因为业务展示的原因,需要打包成 APP 使用。

在鸿蒙 4.2 的时候,这件事其实非常简单:

  • 找一个安卓 WebView 套壳 APP
  • 用 MT 管理器改一下 URL
  • 直接就能用了

整个流程几乎是“无脑操作”,而且这个方案稳定跑了一年多,没有任何问题


二、问题爆发:升级鸿蒙 NEXT 后直接炸了

直到今年(2026),我换了新手机(Mate80ProMax),系统直接升级到了 鸿蒙 6(HarmonyOS NEXT)

问题就来了。

虽然可以通过“卓易通”兼容运行之前的安卓壳子,但是:

文件上传直接废了

具体表现是:

  • <input type="file"> 还能点
  • 但是:
    • ❌ 不能调用相机拍照
    • ✅ 只能从本地相册选图片

原来是可以选择相机或文件上传的:

在这里插入图片描述

新版点击选图,直接跳转文件页面:

在这里插入图片描述

这对我来说是致命问题,因为我的业务是需要现场拍照上传的。


三、为什么会这样?(踩坑分析)

我后面查了一圈 + 问 AI,大概原因是:

👉 鸿蒙 NEXT 出于隐私安全考虑:

  • 不再允许 WebView 直接调用系统相机
  • H5 的文件选择需要宿主应用手动拦截
  • 再由原生代码去:
    • 调起相机 / 相册
    • 拿到结果
    • 回传给网页

简单说就是:

👉 以前安卓是“自动帮你做”,现在鸿蒙是“你自己写一套流程”

四、我尝试过的几个方案(全踩坑)

方案1:找现成鸿蒙 WebView 套壳

结论:

❌ 没找到能用的

要么:

  • 不支持文件上传回调
  • 要么压根不是鸿蒙 NEXT 原生

方案2:反编译原来的安卓壳子改

思路是:

  • 找 WebView 相关代码
  • 修改文件选择逻辑

问题:

❌ 太麻烦,而且不一定能编译成功

方案3:前端绕过(JS 调相机)

比如:

  • 用 H5 API 直接调用摄像头

问题:

❌ 如果壳子没权限,一样没用

五、为什么必须解决?

有朋友可能会说:

那你用旧手机不就行了?

问题是:

  • 我现在要频繁改网页功能
  • 必须实时验证在 APP 里的效果
  • 总不能天天带两台手机开发吧…

👉 这完全不现实


六、最终决定:自己写一个鸿蒙原生壳

被逼无奈,我直接上手:

✅ 用 ArkTS 写了一个 HarmonyOS NEXT 原生 WebView 套壳应用

于是这个项目就诞生了👇


七、这个项目能做什么?

简单说一句话:

👉 改一个 URL,就能把网页打包成鸿蒙 APP

目前已经做了这些功能:

  • ✅ WebView 全屏加载网页
  • ✅ 支持 JS / DOM Storage / 图片访问
  • ✅ 文件上传支持(相机 + 相册)
  • ✅ 返回键拦截(网页返回 + 双击退出)
  • ✅ 启动页(Splash)
  • ✅ 权限自动申请(相机 / 相册)
  • ✅ 沉浸式体验(隐藏导航条)

八、最关键:文件上传问题已解决 ✅

重点来了:

👉 现在可以正常:

  • 📸 直接拍照上传
  • 🖼️ 相册选择上传

也就是把鸿蒙 NEXT 缺失的那一段:

“WebView → 原生 → 相机 → 回传”

👉 全部补齐了


九、项目地址

👉 GitHub:项目地址

https://github.com/ZhaoYuLiOfficial/HarmonyOS6-WebView-Shell 

👉 Gitee:项目地址

https://gitee.com/ZhaoYuLiOfficial/HarmonyOS6-WebView-Shell 

(如果对你有帮助,欢迎点个 Star ⭐)


十、总结

这次踩坑最大的感受就是:

👉 鸿蒙 NEXT 对安全收得很紧,但开发成本确实上来了

以前安卓一句话能搞定的事情:

现在需要自己补一整套逻辑。

不过好处是:

  • 权限更清晰
  • 行为更可控

🤝 交流 & 反馈

如果你也在做类似的项目,或者遇到类似问题:

  • 欢迎留言交流
  • 也可以提 Issue 一起讨论

本文使用AI生成,大神们轻点喷,大学生第一个开源项目呜呜

Read more

MIPI DSI 4-Lane液晶屏驱动开发实战:从时序解析到FPGA对接

1. MIPI DSI 4-Lane液晶屏基础认知 第一次接触MIPI DSI 4-Lane液晶屏时,我被它复杂的时序图吓到了——直到把它想象成高速公路的车道管理才豁然开朗。这种显示屏采用串行差分信号传输,4条数据通道就像双向四车道的高速公路,每条lane的传输速率可达480MHz(实测GOWIN开发板环境),比传统并行RGB接口节省了约60%的引脚资源。 以常见的5寸720x1280分辨率屏幕为例,其核心参数如下表: 参数项典型值技术要点接口类型MIPI DSI 4-Lane支持LP/HS双模式分辨率720(H)×1280(V)60Hz刷新率色彩深度24bit RGB实际传输采用RGB888压缩为RGB565功耗特性LP模式<10mAHS模式峰值电流约120mA同步模式SYNC EVENT需要精确控制消隐区时序 在硬件连接时,我曾犯过把CLK和DATA线序接反的低级错误。正确的接线顺序应该是: 1. 先对接CLK+/CLK-差分对(相当于交通信号灯) 2. 再按D0+/D0-到D3+/D3-顺序连接数据线 3. 最后接电源和背光(VCC/VLED等) 2.

IoT DevOps实战:基于设备影子(Shadow)的万级机器人梯控集群自动化运维架构

IoT DevOps实战:基于设备影子(Shadow)的万级机器人梯控集群自动化运维架构

摘要: 当机器人梯控设备数量突破 10,000 台,传统的“SSH/VPN 单点登录”维护模式将成为运维灾难。如何确保分布在不同网络环境下的电梯网关配置一致性?如何实现固件的灰度发布(Canary Release)与回滚?本文将从架构设计角度,探讨一种基于“期望状态(Desired) vs 报告状态(Reported)”的自动化运维模型。我们将利用 鲁邦通EC6200机器人梯控产品 对 Python 与 MQTT 的原生支持,构建一套 Infrastructure as Code(基础设施即代码)的垂直交通管理系统。 导语: 在 DevOps 领域,管理成千上万个 Docker 容器已是常态。但在物理世界,管理分散在全国楼宇井道内的机器人梯控网关却依然原始。网络抖动、IP 变动、固件版本碎片化是架构师必须面对的挑战。本文将展示如何利用

Z-Image-Turbo_Sugar脸部Lora:5分钟快速部署甜妹风格AI绘画

Z-Image-Turbo_Sugar脸部Lora:5分钟快速部署甜妹风格AI绘画 你是不是也想轻松生成那种让人眼前一亮的甜妹风格AI绘画?现在有了Z-Image-Turbo_Sugar脸部Lora,只需要5分钟就能部署完成,无需任何复杂配置,直接开始创作属于你的甜美系AI艺术作品。 这个镜像基于强大的Z-Image-Turbo模型,专门针对甜妹风格进行了优化,无论是清纯可爱的淡颜系,还是微醺迷人的蜜桃系,都能一键生成。下面我就带你快速上手这个超好用的AI绘画工具。 1. 环境准备与快速启动 1.1 选择合适的环境 在ZEEKLOG算力平台选择"Z-Image-Turbo_Sugar脸部Lora"镜像创建实例。这个镜像已经预装了所有必要的依赖,包括Xinference推理框架和Gradio可视化界面,开箱即用。 建议选择GPU环境以获得更好的生成速度,不过CPU环境也能正常运行,只是生成时间会稍长一些。 1.2 等待服务启动 创建实例后,系统会自动启动所有服务。初次加载需要一些时间,因为要加载模型权重和初始化推理环境。你可以通过以下命令查看启动状态: cat /ro

【花雕学编程】Arduino BLDC 之使用6.5寸轮毂电机的智能动态跟随机器人底盘

【花雕学编程】Arduino BLDC 之使用6.5寸轮毂电机的智能动态跟随机器人底盘

基于Arduino与6.5寸轮毂电机的智能动态跟随机器人底盘,是一种将一体化高扭矩动力单元与实时感知决策系统深度融合的移动平台方案。该方案利用轮毂电机“轮内驱动”的紧凑特性,结合Arduino(或ESP32等兼容主控)的灵活控制能力,旨在实现对人、车或特定目标的平滑、抗扰、低延迟的伴随运动。 一、 主要特点 一体化高扭矩动力架构 直驱/准直驱结构:6.5寸轮毂电机将BLDC电机、行星减速器(常见速比1:10~1:30)、轮毂及轴承高度集成。省去了皮带、链条等中间传动环节,传动效率高(>85%),结构紧凑,底盘离地间隙低,重心稳。 大扭矩低速特性:得益于内置减速,轮毂电机在低转速下可输出极大扭矩(峰值可达8~25 N·m),能轻松驱动30~80kg级底盘,具备良好的爬坡(<5°)和越障(过坎)能力,且低速运行平稳无顿挫。