安卓是否有办法让应用后台运行?

玩一个手游(冒险岛 m ),里面支持挂机,需要应用在前台挂机才行。 想挂机的时候顺便看小说的我想到了同屏双开,完全不影响。

这时候就会想,如果完全真后台,是否可以手游完全在后台挂机,这样就可以全屏看小说了。 因为分屏的时候能扛得住,那么性能就不是瓶颈了。可惜网上找了一圈完全没找到可行的方案……

我的理解是,*差也应该能够通过某种方式,用系统自带的分屏原理来做一个伪实现?

22 条回复    2021-08-18 09:27:17 +08:00

blueboyggh
    1

blueboyggh   2 天前

其实 miui 的小窗就挺好
NeezerGu
    2

NeezerGu   2 天前

@blueboyggh 想要完全的真后台, 一丁点都不影响干别的那种。。。
ThreeBody
    3

ThreeBody   2 天前 via Android   ❤️ 1

你的游戏支持虚拟机吗?支持的话用 vmos
A1B2C3D4
    4

A1B2C3D4   2 天前 via Android   ❤️ 1

你试试看手机多开系统行不行,副系统的状态主系统管不了
jsjjdzg
    5

jsjjdzg   2 天前

不太行,以前可以,现在都会玩了,不杀后台或者类似 IOS 的后台机制不能省电和流畅啊
codehz
    6

codehz   2 天前

其实主要是开发者故意不让你在后台跑(有意或无意的设计)
NeezerGu
    7

NeezerGu   2 天前

@ThreeBody pro 可行, 非常感谢;普通版不行
Cielsky
    8

Cielsky   2 天前 via Android

虚拟机应该可信。
另外可以看看 appops 权限里有没有类似权限
0o0o0o0
    9

0o0o0o0   2 天前

魅族的小窗可以贴边隐藏,只露出一个侧边条,基本上等于全屏,不过其他家的小窗目前都还得看得见。
AX5N
    10

AX5N   2 天前

还以为啥需求呢,只是挂游戏的话为啥不开个电脑挂-_-

philipjf
    11

philipjf   2 天前

安卓的后台不是给用户用的,是给厂商偷隐私用的
LiYanHong
    12

LiYanHong   2 天前

你这种叫伪装成前台运行
安卓本来就支持后台,但游戏开发会检测到后台就暂停游戏
keyuan
    13

keyuan   2 天前

去咸鱼花几百块钱买个备用机吧…省心省事
Kiriya
    14

Kiriya   2 天前

看小说买个百元备用机完全够用,旗舰机夏天反而烫手
NeezerGu
    15

NeezerGu   2 天前

@AX5N 因为麻烦。
电脑挂还要改锁屏设置, 不然锁屏自动断网;
换台式机挂更麻烦, 每次要点个啥还要专门跑到台式机前;

相反手机直接解决,随时随地可以操作,不香吗

NeezerGu
    16

NeezerGu   2 天前

@Kiriya 会有其他需求。 比如挂着游戏,要回家了, 滴滴打车? 抱歉我大滴滴不支持分屏。
为了防止游戏掉线,就必须两边切换着来, 非常麻烦
YNaN
    17

YNaN   2 天前

魅族小窗+1,小窗模式基本*其他厂牌一个版本
2i2Re2PLMaDnghL
    18

2i2Re2PLMaDnghL   2 天前

@NeezerGu 台式机+远程控制
noahhhh
    19

noahhhh   1 天前

锤子手机?看坚果 r2 也是骨折价
honglei92
    20

honglei92   1 天前

要不写个 app 后台播放音乐,然后插件化把游戏整进去。
af463419014
    21

af463419014   1 天前

换个思路,用云手机来挂机如何,比如红手指
24 小时挂着都没问题,还不影响自己的手机
VFHPDCWY
    22

VFHPDCWY   3 小时 50 分钟前

安装虚拟机 VMOS,虚拟机可以在后台自动挂着。

像 VMOS 这类能够在 Android 手机上面运行其他版本的 Android 系统,技术原理是什么?

本来自己想写一个类似的,但是 Google 半天没有找到相关技术介绍. 是不是我搜索的关键词不对?

我搜索的是: “Virtual Machine in Android”

19 条回复    2021-01-26 20:59:41 +08:00

shily
    1

shily   84 天前

在哪看到 “在 Android 手机上面运行其他版本的 Android 系统”?
我搜索了一下,看官网介绍,就是应用双开而已。
xiyuesaves
    2

xiyuesaves   84 天前

@shily 人家确实是独立的系统啊,甚至可以根据需要下载不同版本的安卓系统
zarvin
    3

zarvin   84 天前

虚拟机
0A0
    4

0A0   84 天前 via Android

类似的 app 有很多。相当于创建了一个虚拟硬件环境,然后在虚拟硬件环境里安装 Android os 。因为虚拟硬件是直接调用手机真实硬件,所以耗损会比 pc 虚拟机好很多。
sky96111
    5

sky96111   84 天前

@shily virtualxposed 那种用的才是双开,VMOS 确实运行了一个虚拟系统。原理不详,目前只有这个 APP 做到了模拟一个完整系统。但在评论区吃瓜的时候听说可能和 anbox https://anbox.io/ 的实现方式有关系
gam2046
    6

gam2046   84 天前

这玩意就是自己实现了一个中间层,相当于被模拟系统的 framework,然后隔离开系统自身的 framework 。讲原理没啥难度,写起来巨麻烦,到处都是坑。

但这个玩意,宣传里带上了微信、梦幻西游一类的第三方厂商,法律风险*大。现在是南山必胜客没搞,一必死。

rust
    7

rust   84 天前

@0A0
@zarvin
有没有相关技术文档可以详细了解下?
Jirajine
    8

Jirajine   84 天前 via Android

这个大概就是自己实现了 HAL,在一个容器里运行单独的 system image,和宿主机共享内核。文档可以看 aosp 的文档,实现可以参考 anbox
https://source.android.com/devices/architecture
20015jjw
    9

20015jjw   84 天前 via Android

chroot ?
rust
    10

rust   84 天前

@Jirajine 我刚开始也以为是 Anbox,但是后来我发现它内核和宿主机都不是同一个…
Jirajine
    11

Jirajine   84 天前 via Android

@rust 不可能吧,内核不同的话就是虚拟化了,用户态的虚拟化无论实现难度还是性能都不太可能达到这样的效果。
marczhao
    12

marczhao   84 天前 via Android

proot 容器。
rust
    13

rust   84 天前

@Jirajine 所以我才觉得神奇,虽然 arm64-v8a 支持硬件虚拟化,但是这得 root 权限啊.它这个都没有 root 权限就可以安装使用了.然后虚拟出来的系统还挺流畅…
Jirajine
    14

Jirajine   84 天前 via Android

@rust 内核应该是共享的,你看到的不一样可能是接口修改了数值。
1073850525
    15

1073850525   83 天前

还有一个叫光速虚拟机,声称比 VMOS 快
反正我是看不懂,你可以看看
yanqiyu
    16

yanqiyu   83 天前

@rust 虽然 uname 之类途径看到的好像是不一样的版本,但是通过在 anbox 内拿到 root 之后试图干一些对内核的特权操作(比如操纵 SELinux )会 denied,所以应该还是同一个内核,只是 hook 掉了一些调用。
cathedrel
    17

cathedrel   83 天前

@rust 现在这个 VMOS 还是要给予一大堆权限才肯运行吗?
rust
    18

rust   81 天前

@cathedrel 是的,电话权限,储存权限,定位权限等等
yaeio
    19

yaeio   72 天前

给你个思路:Android 上可以运行 Linux,Linux 内核可以运行 Android 虚拟机 Android-linux-Android