adb安装到所有用户空间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb安装到所有用户空间相关的知识,希望对你有一定的参考价值。
操作方法:1、首先,下载adb工具包,adb工具主要包含以下几个文件,如图所示:
2、使用adb时只需要adb工具被cmd命令调用到就可以了;
3、点击电脑左下角的“开始”,在命令窗口输入“cmd”,并回车;
4、上述操作完成后进入命令提示符界面,可以看出,默认的环境变量路径为“C:UsersAdministrator”;不同电脑显示略有差别,有些电脑会显示“C:Userszhangsan”,这里“zhangsan”是本机用户的用户名;
5、将adb工具拷贝到上述路径中,如果你上一步显示的是C:UsersAdministrator,那么就把adb放在C盘-》用户(User)-》Administrator文件夹下,如果你上一步显示的是C:Userszhangsan,那么就把adb放在C盘-》用户(User)-》zhangsan文件夹下。(注意是直接拷贝该路径,不要放在一个文件夹中整体拷贝);
6、关闭命令提示符窗口,并重新打开(也就是重复第一步),在命令提示符中输入adb,并回车,命令提示符中会打印出很多adb调试相关的帮助信息; 参考技术A 电脑连接设备时有时是多个,测试就不能直接使用adb install xxx.apk了,需要指定某个设备的名称才可以安装,
通过 adb devices获取连接的设备名称,如我的设备名称如下(提醒一下以下所有命令要配置adb的环境变量):
在这里插入图片描述
然后通过以下命令安装到指定手机上:
adb -s MKJNW17C13002900 install -r xxx.apk
命令解析:
-s: 指定设备名称
-r: 替换当前已经安装的app
1
2
3
4
5
1
2
3
4
5
如果想一次安装到所有连接的设备上可以写一些批处理命令。如shell,bat等,下面提供一个shell命令安装apk到所有的设备上供参考,详细的注解代码中也有了(部分手机权限严格需要手动点击确认安装)
#!/bin/bash
echo "请输入apk路径:"
read apkpath
adb devices > devices.txt
echo "开始读取设备..."
line_num=0
while read -r line
安卓adb多用户操作
查看用户列表
adb shell pm list users
创建新用户
adb shell pm create-user [–profileOf USER_ID] [–managed] USER_NAME
adb shell pm create-user 10 godv
启动和切换用户
adb shell am switch-user USER_ID
adb shell am start-user USER_ID
安装应用到某个用户下
adb install –user USER_ID name.apk
删除用户
adb shell pm remove-user USER_ID
为了多用户下的数据安全性,在每个新用户创建之初,不管是外部存储(External Storage)还是app data目录,Android都为其准备了独立的文件存储
/storage/emulated/下拥有不同的用户分区
/storage/emulated/0
/storage/emulated/10
代码查看不同用户 以SDK为例 反射获取
int uid = -1;
try
Class clz = Class.forName("android.os.UserHandle");
Method m = clz.getDeclaredMethod("myUserId");
uid = (int) m.invoke(null);
catch (Exception e)
e.printStackTrace();
ContentResolver下的uri
content:// USER_ID @media/external/audio/media
即可获取不同用户下的不同数据
以上是关于adb安装到所有用户空间的主要内容,如果未能解决你的问题,请参考以下文章
oracle system01.dbf表空间满了,导致用户没法登入怎么办