Android-远程-1个月
¥12-18K/月
技能要求: Flutter,Kotlin
经验要求: 5-10年经验
程序员客栈
2025-05-15 10:18
工作描述:
项目编号:【174418】
项目语言:Flutter(UI)Rust(核心逻辑)

Kotlin(安卓原生开发)

1. 平台裁剪与结构简化
​•​目标: 项目仅面向 Windows 控制端与 Android 被控端运行,不涉及 iOS、Linux、macOS 等平台。
​•​操作内容:
​•​清理非目标平台相关源码、资源、构建脚本。
​•​优化项目目录结构,仅保留 core、windows、android、flutter UI 四大模块。
​•​开发提示:
​•​删除后重新配置 build.gradle / CMake / Flutter 路由注册逻辑,防止爆红。



2. 自动上线识别与设备卡片显示
​•​目标: 安卓端开启权限后,控制端自动识别并显示设备信息卡片。
​•​卡片内容包括: 设备名称、IP、系统版本、电量、网络状态、上线时间。
​•​掉线自动移除,重连自动恢复。
​•​开发提示: 安卓端定时上报状态(5s)到控制端;控制端按设备ID缓存并刷新 UI。



3. 优先局域网直连,跨网自动中继
​•​目标: 在用户无需干预下自动建立连接,优先本地,失败后使用中继服务器。
​•​逻辑流程:
​•​控制端广播扫描局域网(UDP / mDNS)
​•​若局域网发现设备,则建立直连
​•​否则连接写死的中继服务器
​•​开发提示:
​•​中继地址、端口、密钥写死在配置常量中,使用 RustDesk 原生 relay 模块或自建 TCP+UDP relay。
​•​连接超时不超过 3 秒,避免失败体验。



4. 权限状态同步与可视图标
​•​目标: 控制端显示设备权限状态并实时更新。
​•​同步字段:
​•​无障碍服务、悬浮窗、电池优化、自启动、通知权限、文件访问
​•​状态图标: 绿色=已获取,灰色=未获取;可点击查看详情。
​•​开发提示:
​•​安卓端使用 Accessibility + Settings API 检查状态,打包 JSON 传给控制端。
​•​控制端绘制图标区域,并支持悬浮提示。



5. 自动权限引导模块(构建时可选)
​•​目标: 打包时可选择是否集成自动引导模块,用于自动跳转并操作权限授权页面。
​•​流程:
​•​启用后,辅助功能激活 → 背景图提示加载 → 自动跳转 → 模拟点击“允许”按钮
​•​可自定义: 背景图与提示文字
​•​开发提示:
​•​使用 AccessibilityService 获取界面节点,通过文本关键字或 resource-id 定位“开启”、“允许”按钮并执行 performClick。
​•​品牌适配层配置关键词列表,支持小米、华为、vivo、OPPO、三星等。



6. 前台保活与自唤起机制
​•​目标: 保证被控端服务在关屏/杀后台后依然常驻运行。
​•​方案组合:
​•​前台服务(通知栏)+ JobService 周期拉起
​•​开机广播注册 + 异常恢复监听(守护进程机制)
​•​开发提示:
​•​兼容不同品牌的电池管理策略;合理配置前台通知避免误杀。



7. 自定义打包功能 + 首次引导页编辑
​•​控制端功能入口:
​•​自定义:App 名称 / 包名 / 版本号 / 图标 / 通知文字 / 首次启动跳转网址 / 是否启用权限引导模块
​•​打包完成后提供 APK 二维码下载
​•​引导页功能:
​•​首次运行如未开启辅助功能 → 显示引导页
​•​支持编辑图标、文字说明、自定义 UI 样式
​•​开发提示:
​•​后端可用 Python-Flask 或 NodeJS 实现自动化打包器,将字段写入 AndroidManifest.xml 和资源目录。



8. 显示遮罩功能
​•​目标: 控制端可开启遮罩模式,安卓端被完全遮盖,仅显示提示信息或图案。
​•​功能点:
​•​自定义背景图 + 文本
​•​开启“禁止本地触控”开关:限制目标设备响应触控操作
​•​开发提示:
​•​使用 SYSTEM_ALERT_WINDOW 权限显示全屏悬浮窗口,监听触控并拦截。
​•​控制端可实时开关该模式,状态需回传显示。



9. 屏幕内容结构读取功能
​•​目标: 控制端可查看安卓当前屏幕中的文本和控件结构,用于分析或导航。
​•​技术实现:
​•​被控端通过 Accessibility 抽取 View 树结构,上传控件名、坐标、文本、包名。
​•​控制端将其绘制为可视化层级图,可点击查看元素详情。
​•​开发提示:
​•​定期更新(如每3s),或在页面变化时主动推送结构更新。



10. 摄像头远程查看功能
​•​目标: 控制端可远程打开安卓前/后摄并实时查看图像。
​•​功能点:
​•​实时画面预览、前后切换、关闭摄像头
​•​开发提示:
​•​使用 CameraX + SurfaceTexture 推流 + WebRTC 或 MJPEG
​•​权限不足时引导授权,需处理生命周期状态避免黑屏。



11. 屏幕亮起 + PIN模拟输入
​•​目标: 控制端可唤醒设备并模拟数字密码输入(如锁屏解锁)。
​•​流程:
​•​远程下发唤醒指令 → 打亮屏幕 → 使用辅助功能模拟数字键盘输入 PIN → 回车解锁
​•​开发提示:
​•​避免操作失效,需判断当前是否锁屏状态 + 兼容不同锁屏界面结构(部分定制ROM有差异)



12. 控制端 UI 优化 + 动态 Logo 接入
​•​目标:
​•​替换控制端 Logo 为动效版本(SVG 动画、Lottie 动画均可)
​•​精简 UI 设置项,仅保留与安卓设备控制相关的功能选项
​•​开发提示:
​•​UI 风格采用深色现代扁平化风格
​•​设置项按模块归类,如【连接设置】【权限状态】【远程功能】【构建APK】等
公司信息

立即沟通