根本需求是后台静默更新 APK (且仅在用户静默/未使用时)

用 Unity3D 开发的工业&企业安卓软件,半无人值守,所以需要后台能自动更新且更新时机可控。

之前想用 360 的 Replugin ,折腾了半天,加上那个插件之后各种编译报错,好不容易解决了,打开就闪退,感觉像是不太兼容 Unity 导出的 Android 项目的样子。

也搜了下腾讯的 Shadow ,网上有人明确说 Shadow 不支持 Unity 这种“在.so 中加载 Activity”的方案。

甚至试了下 VirtualApp ,因为理论上这玩意能直接加载未使用修改的 APK 。现在各路多开软件,包括 GBox 以及出境易这些 APK in APK 容器方案都是基于它。我试的这个: https://github.com/ServenScorpion/VirtualApp

安装它编译好的这个容器,在里面导入我的 APK (未经任何修改),App 能启动,但是启动后 Unity 的画面黑屏,不知道为啥。

于是就想到了 VMOS 这类“虚拟机”方案。试了下我的 App 能在 VMOS 中完美运行,所以要是我能定制这类“虚拟机”App ,比如把 launcher 及其它无用系统 app 都去掉,只留一个我的 app ,虚拟机启动后自动启动我的 app ,然后再加入一个系统级的 updater.apk 用来管理更新,感觉挺完美的。

因为设备都是市面上采购的消费级安卓设备(手机/平板等),不考虑去找 OEM 定制安卓设备,所以看起来这是最好的方案了?

举报· 835 次点击
登录 注册 站外分享
7 条回复  
cwxiaos 小成 2025-1-30 09:34:02
两仪开源的,作者弃坑了,是一个完整的虚拟机 另外是 virtualapp,是沙盒方案
tyzandhr 小成 2025-1-30 11:12:13
virtualapp 开源而不开放,是收费的
alphaControler 小成 2025-1-30 13:51:25
我看 OP ,应该设备是自己的,找人把设备给 root 了,就可以拥有各种权限了。直接替换 launcher 和系统级的 updater ,理论上是可以解决的。
alphaControler 小成 2025-1-30 13:59:54
@alphaControler 1.自己写一个 launcher APP ,然后使用跨进程拉起自己的 APP , 2.把当前 APP 的首页返回键退出 APP 事件拦截掉 3.在 launcher 中把 home 键拦截并改成拉起自己的游戏应用 4.launcher 可以通过生命周期感知到当前用户在用还是未在用,直接后台控制静默升级。 有 root 权限,这些都是可以做到的。
zsh2517 小成 2025-1-30 18:19:47
(只是一个猜想)全部开放 adb 是否可行?目前 adb pair + connect 的机制应该有一定的安全性(或者走有线)。adb 本身是可以安装软件( adb install )和拉起 activity ( adb shell am start )的,然后也支持远程控制(参考如 scrcpy )
liyafe1997 楼主 小成 2025-1-30 20:21:27
@alphaControler 这不是一个可持续的方案,不是什么设备都能 root
liyafe1997 楼主 小成 2025-1-30 20:22:03
@zsh2517 adb 127.0.0.1 ?感觉可能不太稳定?应该每次重启后都要重新 pair 吧?
返回顶部