先说结论 一、ADB:最底层、最可控的方案 二、uiautomator2:Python 圈的自动化神器 三、多模态 Mobile Agent:最接近"自动驾驶"的路 AppAgent(2023.12)— 多模态 Agent 开创性工作 四、最成熟可用的开源方案:mobilerun 五、实际踩坑:为什么你的 AI 手机控制总是翻车 1. 截图质量决定一切 2. 界面动态内容让 LLM 困惑 3. 隐私数据脱敏 4. 国产定制系统的兼容性问题 六、我的判断 参考文献 本文首发地址 https://h89.cn/archives/580.html 上周我把公司项目跑在 AI 手机控制上,结果有点意外——不是惊喜,是意外。 说白了,现在 AI 控制手机这事,概念很火,但真刀真枪跑起来,要么是玩具,要么是半成品。本文把目前所有主流技术路线摸了一遍,从 ADB

- 阅读剩余部分 -

先看结论 发布时间线 主要新特性 1. 大屏上不再接受方向与可调整大小限制 2. 重新设计的屏幕录制工具栏 3. 助听设备音频路由增强 4. 桌面模式交互式画中画 5. 外部显示小部件支持改进 6. RAW14 图像格式支持 其他更新速览 开发者适配指南 适配大型屏幕 状态保存 测试建议 总结 本文首发地址 https://h89.cn/archives/546.html Android 17(API 37)是 2026 年的新一代 Android 版本,目前仍处于 Beta 阶段。本文内容基于 Android 17 Beta 3 阶段已公开的信息整理。单看系统功能,它当然也带来了一批新变化;但如果你是 Android 开发者,这一版最值得优先关注的,其实不是某个新开关,而是大屏适配这件事彻底进入了“不能再拖”的阶段。

- 阅读剩余部分 -

一、先说我的判断 二、AutoFDO 了解一下就够了 三、后台与功耗:别把 Wake Lock 当常规方案 四、常见后台场景,我一般会这样改 1. 用户主动上传或下载:优先系统方案 2. 一次性或周期同步:优先 WorkManager 3. 位置更新:减少频率,利用批处理 4. 其他几个容易踩坑的场景 五、内存优化:先抓大头,别一上来就玩花活 1. Bitmap 和大对象生命周期 2. 缓存不是越多越好 3. 泄漏防护:比“优化技巧”更值得先做 六、测量工具链:没有数据,先别急着下结论 1. Perfetto 适合看“系统全景” 2. Android Studio Profiler 适合日常定位 3. Macrobenchmark 适合做回归 七、Jetpack Compose:别只盯着“重组”两个字 1. 列表优先保证稳定 key 2. derivedStat

- 阅读剩余部分 -

1. 用 mirrorDisplay() 做镜像显示 1.1 基本思路 1.2 mirrorDisplay 的接口与调用方式 1.2.1 IWindowManager 接口定义 1.2.2 SurfaceControl 与 Transaction 1.2.3 典型调用示例 1.3 它为什么延迟低 1.4 Native 侧实现原理 1.5 坐标系与显示投影 1.6 性能对比 2. 用 injectMotionEvent 做触摸传递 2.1 为什么要显式做输入注入 2.2 坐标映射 2.3 注入流程 2.4 为什么这种方式更稳 3. SurfaceControl 父节点差异:一个容易混淆的补充点 4. 为什么透明覆盖层和 blocker 往往不可靠 5. 权限要求与落地前提 5.1 常见权限 5.2 系统签名要求 6. 软件流

- 阅读剩余部分 -

Android 连接 SQL Server 问题总结 问题概述 在 Android 应用中使用 Microsoft JDBC 驱动和 jTDS 驱动连接 SQL Server 时遇到严重的 SSL/TLS 兼容性问题。 测试环境 1. 数据库服务器 阿里云 RDS SQL Server 地址:rm-uf633ttx3y74o23iczo.sqlserver.rds.aliyuncs.com:1433 数据库:pda260115 用户:chen / chen@123 2. 测试结果对比 Java 单元测试 ✅ 成功 === 测试直接JDBC连接(禁用SSL)=== 尝试配置: 主配置 服务器: rm-uf633ttx3y74o23iczo.sqlserver.rds.aliyuncs.com:1433 数据库: pda260115 用户名: chen

- 阅读剩余部分 -

PAG 是什么? 为什么它是 SVGA 的最佳替代者?(核心优势) PAG vs Lottie vs SVGA 深度对比 Android 接入指南 (Kotlin) 潜在缺点与注意事项 总结 本文首发地址 https://h89.cn/archives/493.html 前文分析了SVGA等动画的对比,但是SVGAPlayer(由 YY 团队开发)目前已归档(Public archive) ,今天我们来看看另外一种动画 PAG (Portable Animated Graphics) , 它是目前安卓开发中,替代 SVGA 和 Lottie 的最强方案,尤其是针对直播礼物、游戏特效、UI 复杂动效等场景。 它由 腾讯 (Tencent) 内部研发并开源,目前已经成为国内大厂(腾讯系、抖音、快手、B站等)的行业标准。 以下是对 PAG 的详细技术介绍,包括核心优势、工作原理以及与 S

- 阅读剩余部分 -

核心挑战:摄像头的“独占”属性 解决方案一:巧妙的交互设计:“伪并发”方案 解决方案二:真正的技术破局:构建共享相机服务 解决方案三:硬件之道:利用多物理摄像头 总结与展望 本文首发地址 https://h89.cn/archives/450.html 想象一下这个场景:你和家人朋友正进行一场完美的公路旅行,傍晚的火烧云美得令人窒息。你想用汽车前置的高清摄像头记录下这一刻,但坐在副驾的朋友也想拍一张。结果,你们发现车载相机一次只能由一个人的应用打开。这不禁让人思考:在越来越智能的汽车座舱里,为什么我们不能像共享音乐播放列表一样,共享摄像头呢? 在当前主流的车载信息娱乐系统(车机系统)中,多用户模式已经相当普遍,它为不同驾驶员和乘客提供了个性化的设置和数据空间。然而,当涉及到摄像头这类硬件资源时,我们通常会遇到一个瓶颈。 核心挑战:摄像头的“独占”属性 在深

- 阅读剩余部分 -

一、背景与目标 二、技术选型与依赖 三、项目结构与关键文件 四、功能实现概览(拍照 + OCR + 翻译) 五、为什么能“离线”? 六、本地运行与安装 克隆项目 构建与安装 七、项目特色与技术亮点 离线优先设计 技术实现细节 项目源码 八、常见问题(FAQ) 九、结语 本文首发地址 https://h89.cn/archives/440.html 一、背景与目标 目标:做一个“拍照翻译”App,在弱网/无网环境下也能工作。离线识别图片中的中文/英文等文字,并把识别结果翻译成中文。 方案: 使用 Google ML Kit Text Recognition v2 实现离线 OCR(中文优先,Latin 回退)。 使用 ML Kit On‑device Translation 实现离线翻译(首次联网下载语言包,下载完成后完全离线)。

- 阅读剩余部分 -