V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  binsys  ›  全部回复第 1 页 / 共 7 页
回复总数  126
1  2  3  4  5  6  7  
@jeesk ttwebview 不是给外部人用的,他是内部自用,文档都在内部。
@jeesk
不是 hack system 的 webview provider ,而是 hack 自己的 app 对 webview 的引用,当 app 调用 webview 时,拦截这个调用,并把返回内容替换为自己的私有实现,从而可以使用公版 webview api 但使用自己的 provider 实现,据我分析 字节,百度等都有类似方案。
我们这,因为历史原因,没内网 DNS ,我们的校园网设备都是公网 DNS ,所以我的解决方案就是利用出口的 panabit 流控设备的 DNS 管控功能,所有想解析到内网 IP 的域名直接把域名和 IP 填写上。

原理就是在出口设备上做 DNS 污染(这个词出现在正面场合不容易吧)...

所有经过出口设备的 DNS QUERY 请求,当命中域名时,会被拦截并返回我设置的 IP 。
62 天前
回复了 yadam 创建的主题 程序员 给小爱音箱做一个开源固件
其实现在开源硬件可各种资源很多的,像我这样的业余人员,可能只擅长软件,IOT ,对模具,声音工程,外观设计,功率音频都不熟悉的也不想花那么多成本的,可以试着对音箱硬改,举几个没细想的例子:

自己做块小板,带 CPU 的,想办法做的小塞进音响里,音响自带麦克风的板子断开,接自己板子上,做个中间人拦截,是目标唤醒词的直接自己处理,不是的放给小爱音箱默认处理,这里可能存在 VAD 问题,一直给小爱板子送静音或者微声音的 I2S 信号可能解决 VAD 问题。

直接替换小艾的 CPU 板子,但保留功放 codec mic in 等音频部分。

直接替换 CPU ,淘宝买 CPU 找人焊上,利用厂商公版 SDK
自己写固件
63 天前
回复了 yadam 创建的主题 程序员 给小爱音箱做一个开源固件
有硬件安全 boot ,除非出现硬件级 BUG ,或者官方泄露签名,否则跑不起来。
研究下看能不能绕过安全 boot 吧。
手机 TEE 里面要有(部分运营商已内置)受支持的运行商的证书(密钥、公钥)才行。
说的应该是 USB UVC 的。
当年对接的是 sonix 家的芯片的 USB2.0 UVC H.264 IC 。

为什么不用 USB3 呢,因为当年做的是 ADAS 方案,别人家都是 CVBS 接多路。老板可能有点想法,但板子 SOC 不支持 USB3,且线的长度满足不了 USB3 的信号完整性需求,受限于 USB2.0 。
一般 USB UVC 摄像头支持的格式就那么几种。
YUV 的变种 YUY2 ,MJPG ,RGB 。
但高清头当分辨率过大时,指定 FPS 下产生的 RGB 和 YUV 这种非压缩格式在 USB2.0 下传输带宽不足( Linux URB 等)。
所以为了在限定带宽下以高速 FPS 传输大分辨率视频帧,就得压缩,比如 MJPEG ,我还对接过直接输出 H.264 的 USB 2.0 UVC 摄像头,分辨率 1920*1080 ,20 几个 FPS 。
举例一下
新发明 可拆卸电池的手机。
新发明 ESIM (写号手机)
新发明 支持插 3.5 耳机的手机
184 天前
回复了 TESTFLIGHT2021 创建的主题 宽带症候群 国内运营商不能统一下光猫么?
我们这宽带退了猫要一起还给运营商的,丢了要罚款。
我家 DELL T5810 工作站,常年开机。6 年+了
原来高通的代码镜像(包括国内唯一好用的 chromium 代码镜像)也在这个域名上,估计是他们赞助了,后来转 linux 基金会维护了?后来高通把 codeaurora 相关业务转给国外的 linaro 了,估计就没人赞助维护了。原来有北京和上海服务器。
2023-03-26 07:47:02 +08:00
回复了 kroaity 创建的主题 Apple 局域网内微软远程桌面吃不满带宽
我知道如何禁用 UDP ,但禁用 TCP RDP 还能跑起来不?怎么协商会话?
2022-11-29 13:50:16 +08:00
回复了 wuruxu 创建的主题 Android crwebview : 支持运行 chrome extension 的 android webview
good job
2022-11-28 13:12:44 +08:00
回复了 qqhahaboy 创建的主题 Android Android WebView 中嵌入原生控件
百度搜索 小程序同层 找相关文章,很多。
2022-11-28 13:11:59 +08:00
回复了 tsinghan 创建的主题 Android 如何让 Android webview 渲染自己编译的 Chromium webview?
其实最终还得走上自己编译 chromium webview 的路线,差别无非是用原类名包名或者都改成自己的取舍问题。
真心不想以自己这技术水平以非专业团队的身份修改打包这个体量的代码。(国内下代码下工具就困难,代码量又真多)。
X5 又不能用( X5 改了包名,类名,ionic capacitor 之类的写死了 webview 类,不能用了,最重要的是官方不支持离线,必须在线分发,还不支持模拟器)。

crosswalk intel 开源技术中心 又不维护了。
2022-11-28 12:58:04 +08:00
回复了 tsinghan 创建的主题 Android 如何让 Android webview 渲染自己编译的 Chromium webview?
回个旧帖子吧,Tencent X5 虽小但并不和胃口啊。

google 以及手机 vendor 安全原因,限制自己编译的 webview 通过系统提供的接口替换系统 webview (通过包名以及签名限制),如果你不 root 能做到,可以找 google 拿奖金的,那是安全问题了。

大概研究了下国内各大长各有各的方案,各有千秋,干了一堆活就为了解决 webview 碎片化(附加防被手机长加广告吧)。

比如我目前就遇到 vue3 的 webview 兼容问题,ES6 proxy 之类的 坑不少(不是做前端的,不太懂,都是更新 webview 就能解决的问题)。

1. 自己编译自己的 webview ,全面改包名及类名,东西都是自己的了,相当于引用一个正常的 aar ,干啥都行。

优点:
可与系统 webview 并存,完全自己的,干啥都行。甚至可以打包上 playstore 。

缺点:
工作量太大,tracking upstream 太累,毕竟把包名类名都改了,漏下一处肯恩就是 bug ,没专门团得的小厂不好消化。
包太大,100+版本的 webview 轻松增加 100MB 以上
没生态(特指大厂不需要的 phonegap ionic capacitor reactnative 之类的生态),因为这类框架里面有的写死了对 android/webkit/WebView 类的引用,你没完美办法让他们调用 android/webkit/WebView 时转向你自己的 WebView 类。

2. 还是自己编译自己 webview ,包名类名不改,app 启动时通过对 ClassLoader 和 webviewupdate 服务及 WebViewFactory.getProvider 的某些 hook 操作,让自己的 WebViewProvider 为 WebView 服务( 5.X+以后 WebView 基本上是个壳子,实际工作交给了 Provider ),

优点:
生态在(我等小厂喜欢),工作量没 1 大,减少了一些兼容问题,

缺点:
但增加了一些兼容问题,在 android 9 + 上得考虑如何安全的越过 hidden api 限制( Provider 是 hidden api )
部分魔改 WEBVIEW 机型兼容性问题,以及资源加载问题。

3. 偷懒取巧办法(大厂可能涉到 apk 分发及授权问题)
用原厂 Google 的 webview ,(比如从 apkmirror 上找到合适版本),当 app 启动时检测当前 webkit 版本,当过低,引导用户下载并安装官方原版 webview (因为墙,得放一个合适的国内 cdn 上)。然后重启 app ,再检测新的 webview apk 包有没有,如果有,获取当前使用 webview 是否是新包,如果是,恭喜你省事儿了。但就有一些手机 rom 厂商写死了不用你安装的 google 官方原版 webview ,这时候就得重复部分 2 里的方法,在你自己 APP 级别上 hook 一些东西,让你的 app 的 webview 找 provider 时强制用 google 的 webview 。(自己的 app 自己的进程,不是替换系统共享 webview ,那不在计划内)

优点:连 webview 都不用编译了,有 google 官方维护,香。
缺点:
得引导用户从未知来源安装这个虽然是官方未修改,但依旧被各种 rom 判定并警告的 apk ( MIUI 未知来源开关界面不定位到列表的具体 apk 上,得用户自己在大列表里翻找到你想开未知来源的 app ,且被判定为系统组件,必须在开发者选项里关掉 MIUI 优化后才能安装),其他手机接触少,华为 锤子(存量用户真有啊)没这些麻烦。

在自己 app 里替换 webview provider 代码参考:
https://github.com/anxinxu/bugs
1  2  3  4  5  6  7  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5014 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 09:46 · PVG 17:46 · LAX 02:46 · JFK 05:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.