You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何通过adb shell运行MIUI11系统上的克隆应用(以TelegramX为例)

如何通过ADB Shell启动MIUI双开的应用(以TelegramX为例)

我之前也碰到过MIUI双开应用用ADB启动的困扰,刚好可以给你梳理下解决思路和具体操作:

先搞懂MIUI双开的底层逻辑

MIUI的应用双开是基于Android的多用户隔离机制实现的——克隆的应用其实是运行在一个独立的辅助用户(比如你看到的user/999)空间里,而默认的ADB命令都是在主用户(user/0)环境下执行的,所以直接用monkey -p org.thunderdog.challegram 1只会启动主用户下的原应用,也看不到克隆应用的包信息。

具体操作步骤

1. 确认克隆应用所在的用户ID

你已经通过目录发现是999,也可以用命令确认所有系统用户:

adb shell pm list users

输出会类似:

Users:
0:Primary (active)
999:Work profile (active)

这里的999就是双开应用所在的用户ID(不同设备可能是10、998等,以实际输出为准)。

2. 指定用户启动克隆应用

有两种常用方法:

方法一:用Monkey命令指定用户

先确保目标用户处于活跃状态,再执行带用户参数的Monkey命令:

# 激活目标用户(如果未激活的话)
adb shell am start-user 999
# 指定用户999启动克隆应用
adb shell --user 999 monkey -p org.thunderdog.challegram 1

方法二:用am start直接启动主Activity(更精准)

Monkey有时候可能会启动非主页面,用am start指定主Activity更可靠:

adb shell am start --user 999 -n org.thunderdog.challegram/.LauncherActivity

如果不知道TelegramX的主Activity名称,可以用以下命令查找:

# 在主用户下启动原应用后,执行此命令查看当前顶部Activity
adb shell dumpsys activity top | grep "ACTIVITY"

或者直接查询包的主Activity信息:

adb shell dumpsys package org.thunderdog.challegram | grep -A 5 "main"

3. 查看克隆应用的包信息

默认的pm list packages只显示主用户的包,要查看指定用户的包,需要加--user参数:

adb shell pm list packages --user 999

这样就能看到克隆的org.thunderdog.challegram了。

注意事项

  • 部分MIUI版本可能需要先解锁双开空间/工作资料,确保目标用户处于活跃状态,否则启动命令可能失效;
  • 如果用户ID不是999,替换成你实际查到的编号即可。

内容的提问来源于stack exchange,提问作者idkwhattodo

火山引擎 最新活动