- 按键认证导师
- 374328
- 1577
- 42
- 3800 朵
- 4196 个
- 1116 个
- 104560
- 2010-03-19
|
1#
t
T
发表于 2022-05-04 09:22
|
|只看楼主
江中游电脑版按键论坛教学总录:http://bbs.anjian.com/showtopic-697741-1.aspx 江中游安卓手机系统教学总录: http://bbs.anjian.com/showtopic-699643-1.aspx 江中游异次元-未来的夏娃 第4课 安装卸载app 如有想以视频方式展现可以留言我看要求多少再做视频 本课基本要求:瞪圆眼睛看手机 本课注意事项:空格 我的手机没root 一、本课实例为按键精灵手机版apk: 大家安装按键精灵手机助手后可以在助手的安装目录下找到这个文件例如: - D:\ProgramData\按键精灵\按键精灵手机助手\apk\MobileAnJian.apk
复制代码
二、修正: 本课详细介绍安装使用adb命令安装与卸载app的方法,实际上安卓系统的应用叫“apk”,苹果系统应用才叫“app”,其实这无关紧要我们会用就好,没必要较真到底是什么名字,大家统称就行了。 三、安装apk: adb 的install命令,大家能想起来install是我们在计算机上经常看到的文件,翻译成中文就是安装的意思,在adb命令中关于install命令官方提供改下几种 - adb install -r 替换已存在的应用程序,也就是说强制安装
- adb install -l 锁定该应用程序
- adb install -t 允许测试包
- adb install -s 把应用程序安装到sd卡上
- adb install -d 允许进行将见状,也就是安装的比手机上带的版本低
- adb install -g 为应用程序授予所有运行时的权限
复制代码目前来说,安装应用免root命令就是第1个,我们打开adbini配置文件增加安装应用的命令如下:其中 安装应用= install -r install -r 前后要放个空格,因为将来还要有命令连接 - [adb]
- 获取设备=devices
- 启动服务=start-server
- 关闭服务=kill-server
- 安装应用= install -r
复制代码大家在制作脚本时并非一台机器或模拟器,如果要多台设备就是要指定设备ID了,在adb命令中指定设备命令是 “-s 设备ID”,所以针对多设备我们再加一个变量如: - adbs = "C:\adb\adb.exe -s "
复制代码准备工作完成。开始写按键代码,我的代码都给大家加了注释了,放心学习,运行时一定要瞪圆眼睛看手机,出现安装自己决定是否安装 - Dim adb,设备数组
- adb = "C:\adb\adb.exe "
- adbs = "C:\adb\adb.exe -s "
- adbcmd = "C:\adb\adb.ini"
- Call 启动服务()
- 设备数组 = 获取设备ID群()
- Call 安装应用(设备数组(0),"D:\ProgramData\按键精灵\按键精灵手机助手\apk\MobileAnJian.apk")
- TracePrint 设备数组(0)
- Function 安装应用(设备ID, 应用)
- Dim 命令,adbret
- 命令 = Plugin.File.ReadINI("adb", "安装应用", adbcmd)'读取保存在ini文件中的命令
- TracePrint adbs & 设备ID & adb安装应用 & 应用
- adbret = Plugin.JzyCommand.Command(adbs " & 设备ID & 命令 & 应用, 5000)'使用我的插件来获取连接的设备
- TracePrint adbret
- End Function
- Function 启动服务
- Dim 命令,adbret
- 命令 =Plugin.File.ReadINI("adb", "启动服务", adbcmd)'读取保存在ini文件中的命令
- TracePrint 命令
- adbret = Plugin.JzyCommand.Command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- End Function
- Function 获取设备ID群()
- Dim 获取设备, 转化数组, ii, 命令, adbret
- 命令 = Plugin.File.ReadINI("adb", "获取设备", adbcmd)'读取保存在ini文件中的命令
- adbret = Plugin.JzyCommand.Command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- TracePrint adbret
- 'adbret返回结果如有连接则是:List of devices attached|000002f52fbb092edevice|emulator-5554device|emulator-5556device|11904|,List of devices attached无论是否获取到也是必须出现的字符,但是当adb服务没有启动,这串字符就不会出现了所以我们要用如果来判断一下
- If instr(1, adbret, "List of devices attached") >= 1 Then
- adbret = Replace(adbret, "List of devices attached|", "")'过滤一下注意最后要有一个中隔线
- 转化数组 = split(adbret, "|")'在dos中的每一行我这里使用中隔线"|"代表
- 设备ID = array()'按键的bug,重新定义数组不要加dim
- ReDim 设备ID(UBound(转化数组))'按键的bug,重新定义数组不要加dim
- For i = 0 To UBound(转化数组)
- If Right(转化数组(i), 6) = "device" Then '这一行中如有device字符代表是已经连接的设备
- 设备ID(ii) = Replace(转化数组(i), "device", "")'过滤一下
- ii = ii + 1
- End If
- Next
- Else
- 获取设备ID群=array()
- End If
- 获取设备ID群 = 设备ID
- End Function
- Function 关闭服务()'通常用不到
- Dim 命令,adbret
- 命令 =Plugin.File.ReadINI("adb", "关闭服务", adbcmd)'读取保存在ini文件中的命令
- adbret = Plugin.JzyCommand.Command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- End Function
复制代码 四、卸载:卸载的adb命令时: 如上所述大家再加入到adbini文件中,注意前后空格 - [adb]
- 获取设备=devices
- 启动服务=start-server
- 关闭服务=kill-server
- 安装应用= install -r
- 卸载应用= uninstall
复制代码准备工作完成。开始写按键代码,我的代码都给大家加了注释了,放心学习,运行时一定要 瞪圆眼睛看手机,看看应用是否卸载了 - Dim adb,设备数组
- adb = "C:\adb\adb.exe "
- adbs = "C:\adb\adb.exe -s "
- adbcmd = "C:\adb\adb.ini"
- Call 启动服务()
- 设备数组 = 获取设备ID群()
- //Call 安装应用(设备数组(0), "D:\ProgramData\按键精灵\按键精灵手机助手\apk\MobileAnJian.apk")
- Call 卸载应用(设备数组(0),"com.cyjh.mobileanjian.vip")
- TracePrint 设备数组(0)
- Function 卸载应用(设备ID,应用)
- Dim 命令,adbret
- 命令 = Plugin.File.ReadINI("adb", "卸载应用", adbcmd)'读取保存在ini文件中的命令
- TracePrint adbs & 设备ID & 命令 & 应用
- adbret = Plugin.JzyCommand.Command(adbs & 设备ID & 命令 & 应用, 1000)'使用我的插件来获取连接的设备
- TracePrint adbret
- End Function
- Function 安装应用(设备ID, 应用)
- Dim 命令,adbret
- 命令 = Plugin.File.ReadINI("adb", "安装应用", adbcmd)'读取保存在ini文件中的命令
- adbret = Plugin.JzyCommand.Command(adbs & 设备ID & 命令 & 应用, 5000)'使用我的插件来获取连接的设备
- TracePrint adbret
- End Function
- Function 启动服务
- Dim 命令,adbret
- 命令 =Plugin.File.ReadINI("adb", "启动服务", adbcmd)'读取保存在ini文件中的命令
- TracePrint 命令
- adbret = Plugin.JzyCommand.Command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- End Function
- Function 获取设备ID群()
- Dim 获取设备, 转化数组, ii, 命令, adbret
- 命令 = Plugin.File.ReadINI("adb", "获取设备", adbcmd)'读取保存在ini文件中的命令
- adbret = Plugin.JzyCommand.Command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- TracePrint adbret
- 'adbret返回结果如有连接则是:List of devices attached|000002f52fbb092edevice|emulator-5554device|emulator-5556device|11904|,List of devices attached无论是否获取到也是必须出现的字符,但是当adb服务没有启动,这串字符就不会出现了所以我们要用如果来判断一下
- If instr(1, adbret, "List of devices attached") >= 1 Then
- adbret = Replace(adbret, "List of devices attached|", "")'过滤一下注意最后要有一个中隔线
- 转化数组 = split(adbret, "|")'在dos中的每一行我这里使用中隔线"|"代表
- 设备ID = array()'按键的bug,重新定义数组不要加dim
- ReDim 设备ID(UBound(转化数组))'按键的bug,重新定义数组不要加dim
- For i = 0 To UBound(转化数组)
- If Right(转化数组(i), 6) = "device" Then '这一行中如有device字符代表是已经连接的设备
- 设备ID(ii) = Replace(转化数组(i), "device", "")'过滤一下
- ii = ii + 1
- End If
- Next
- Else
- 获取设备ID群=array()
- End If
- 获取设备ID群 = 设备ID
- End Function
- Function 关闭服务()'通常用不到
- Dim 命令,adbret
- 命令 =Plugin.File.ReadINI("adb", "关闭服务", adbcmd)'读取保存在ini文件中的命令
- adbret = Plugin.JzyCommand.Command(adb & 命令, 1000)'使用我的插件来获取连接的设备
- End Function
复制代码 附件下载: - JzyCommand.rar (, 下载次数:210)
- adb.rar (, 下载次数:221)
|