adb命令
方法一:
adb shell uiautomator dump --compressed /data/local/tmp/uidump.xml
c++读取源码,python可以不用保存txt
system("adb shell cat /data/local/tmp/uidump.xml>tmp2.txt");
方法二:(c++推荐)
adb shell "uiautomator dump --compressed && cat /sdcard/window_dump.xml">tmp2.txt"
adb shell input tap 100 100
1,使用 adb shell input keyevent <keycode>命令模拟按键事件进行音量调节,例如:
增加音量:
adb shell input keyevent 24
降低音量:
adb shell input keyevent 25
静音:
adb shell input keyevent 164
2,使用adb shell media 命令:
例如:
媒体音调为0
adb shell media volume --show --stream 3 --set 0
媒体音调低(没用)
adb shell media volume --stream 0 --adj lower
获取媒体音(没用)
adb shell media volume --stream 3 --get
可以使用 adb shell media --help查看media命令更多用法。
亲测可以,媒体音量设置为0
安卓10
adb shell media volume --set 0
安卓11
adb shell service call audio 10 i32 3 i32 0 i32 1
yum install java-1.8.0-openjdk* -y
一、下载adb
cd /opt
mkdir androidSdk
cd androidSdk
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip
二、配置
vim /etc/profile
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export PATH=$PATH:/opt/androidSdk/tools/bin
:wq! 保存
#使配置生效
source /etc/profile
三、查看
sdkmanager --list #查看列表
#安装30.0.2版本的build-tools工具,安装需要的package
sdkmanager "build-tools;30.0.2"
四、配置platform tools
cd /opt/androidSdk
platform tools下载地址
http://downloads.puresoftware.org/files/android/platform-tools/
或者直接下载
wget http://downloads.puresoftware.org/files/android/platform-tools/platform-tools_r23.0.1-linux.zip
下载完成后,上传到linux系统
rz platform-tools_r23.0.1-linux.zip
#解压
unzip platform-tools_r23.0.1-linux.zip
vim /etc/profile
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export PATH=$PATH:/opt/androidSdk/tools/bin
export PATH=$PATH:/opt/androidSdk/platform-tools
:wq! 保存
#使配置生效
source /etc/profile
五、查验:
adb version
报:-bash: /opt/androidSdk/platform-tools/adb: No such file or directory
原因:系统为64位,adb为32位
解决方法:
yum install glibc.i686
yum install libstdc*
yum install libstdc++.so.6
再次:adb version #出版本号就说明正常
六:调试
手机与Linux系统连接,
adb devices #可以查看到设备
adb tcpip 5555 (端口号)
adb connect 192.168.1.199 (Android设备IP地址)
adb usb 使用回usb调试
七,卸载OpenJdk
一、首先确认Linux虚机上自带哪些OpenJdk
切换root用户,输入:rpm -qa | grep jdk 会查询出系统自带的OpenJDK及版本
rpm -qa | grep jdk
- 1
输出结果:
[root@VM-0-6-centos androidSdk]# rpm -qa | grep jdk
copy-jdk-configs-3.7-4.el8.noarch
java-1.8.0-openjdk-demo-1.8.0.272.b10-3.el8_3.x86_64
java-1.8.0-openjdk-accessibility-1.8.0.272.b10-3.el8_3.x86_64
java-1.8.0-openjdk-javadoc-1.8.0.272.b10-3.el8_3.noarch
java-1.8.0-openjdk-headless-1.8.0.272.b10-3.el8_3.x86_64
java-1.8.0-openjdk-1.8.0.272.b10-3.el8_3.x86_64
java-1.8.0-openjdk-src-1.8.0.272.b10-3.el8_3.x86_64
java-1.8.0-openjdk-devel-1.8.0.272.b10-3.el8_3.x86_64
java-1.8.0-openjdk-javadoc-zip-1.8.0.272.b10-3.el8_3.noarch
二、开始卸载OpenJdk并验证
输入:rpm -e --nodeps + ‘你要卸载的jdk全名’
如
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.272.b10-3.el8_3.x86_64
这样类推卸载全部
端口转发设置.
注意:端口号不要用5555不然会自动安装一个com.ufo.miner挖矿软件
adb连接
adb connect 域名:端口号
发现一个问题:安卓10,1.如果是系统分身,2.刚开机必须让主系统先连接adb
Windows版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Mac版本:https://dl.google.com/android/repository/platform-tools-latest-windows.zip
Linux版本:https://dl.google.com/android/repository/platform-tools-latest-linux.zip
mac 安装命令
brew install android-platform-tools
注:debian 系统apt命令安装版本过低没有adb pair 命令,可以下载最新替换 /usr/lib/android-sdk/platform-tools文件
adb shell dumpsys battery
Current Battery Service state:
AC powered: true //充电器充电
USB powered: false //usb线充电
Wireless powered: false //无线充电
Max charging current: 1475000 //最大充电电流
Max charging voltage: 9000000 //最大充电电压
Charge counter: 2426609 //电荷计数器
status: 2 //电池状态: 2:正充电;3:没插充电器;4:不充电; 5:电池充满
health: 2 //健康状态:2:良好; 3:过热; 4:无用的; 5:超压; 7:温度过低
present: true
level: 94 //当前电量
scale: 100 //当前电量
voltage: 4335 //当前电压
temperature: 340 //当前温度
technology: Li-poly //电池结构:Li-ion是指锂离子电池
adb shell dumpsys power | find "mHoldingDisplaySuspendBlocker="
false熄屏,true为亮屏幕
mHoldingDisplaySuspendBlocker=false
adb shell input keyevent 26
adb shell dumpsys package 包名字
例如获取第一次安装时间名字
adb -s 192.168.31.50 shell dumpsys package com.taobao.litetao | find "firstInstallTime="
firstInstallTime=2022-06-28 00:08:57
将在 Android 设备上录制屏幕,并将录制的视频保存到设备的 SD 卡上,录制时间限制为 10 秒钟
adb shell screenrecord --time-limit 10 /sdcard/demo.mp4
将从 Android 设备下载录制的视频,并将其保存到您的计算机的 F:\win11
adb pull /sdcard/demo.mp4 F:\win11
import subprocess
import time
import os
# Define the duration of the screen recording in seconds
duration = 10
# Get the list of connected devices
ip ='emulator-5554'
adb_path = 'C:\\Users\\yys53\\OneDrive\\scrcpy\\adb'
# Start screen recording on each device
def start_sr():
# 开始录屏
print("开始录屏")
os.popen(adb_path + " -s " + ip +" shell screenrecord --time-limit 150 /sdcard/screen.mp4")
# Wait for the specified duration
# Stop screen recording on each device and pull the resulting video file to the local computer
def end_sr(paht = f"F:\win11\de2323.mp4"):
# 结束录屏
print("结束录屏")
os.system(adb_path + " -s " + ip + " shell pkill -l SIGINT screenrecord")
time.sleep(1)
os.system(adb_path + ' -s %s pull /sdcard/screen.mp4 %s' %(ip,paht))
start_sr()
time.sleep(duration)
end_sr()
要使用ADB为应用程序授予权限,您可以使用以下命令:
-
首先,确保您已启用Android设备的开发者选项并启用USB调试。在设备的设置中找到“关于手机”,然后点击多次“版本号”以启用开发者选项。
-
连接Android设备到计算机,确保已经安装了ADB工具。
-
打开终端或命令提示符,并执行以下命令:
adb shell pm grant package_name permission
package_name
是要授予权限的应用程序包名。permission
是要授予的权限。
例如,如果要给应用程序包名为com.example.myapp
的应用授予位置权限,可以执行以下命令:
adb shell pm grant com.example.myapp android.permission.ACCESS_FINE_LOCATION
请注意,您需要替换com.example.myapp
和android.permission.ACCESS_FINE_LOCATION
为实际的应用程序包名和权限名称。
此命令将为应用程序授予指定的权限。确保您了解要授予的权限名称,以免给予应用程序不必要的权限。
前提:连上一个wifi才可用无线调试
- 在F-Droid上下载并安装Termux和Termux:Float应用:https://f-droid.org/en/packages/com.termux.window/
- 打开设备的开发者选项,并选择允许在设置上重叠显示(默认设置下可能不显示)。
- 在应用显示中打开Termux:Float,点击“Grant Permission”并找到Termux:Float,授予权限以在其他应用上层显示。
- 配对设备(确保Termux已安装adb):
- 转到开发者选项→无线调试→使用配对码进行设备配对。
- 使用以下格式进行配对:
adb pair <ip:端口号><配对码>
adb pair 192.168.31.161:50487 123456
- 连接adb(注意和连接端口不一样,不是配对的端口号):
adb connect 192.168.31.161:40327
- 开启5555端口:
adb tcpip 5555
方法1:
adb shell ip -6 addr show
-
上述命令输出可能会有很多信息,但你可以找到设备的 IPv6 地址。通常,IPv6 地址在 "inet6 addr" 的一行中。
已知wifi:红米note10 pro和红米note9 5G不行,
数据流量:电信可以,移动不行
方法2:
adb shell "curl -s https://ipv6.ddnspod.com"
或者用Temux
curl https://ipv6.ddnspod.com
USER_ID
是用户的 ID,每个 Android 用户都有一个唯一的 ID。在 Android 系统中,可以存在多个用户,每个用户都有自己的应用和数据。您可以使用以下命令来获取设备上的用户列表以及其对应的 ID:
adb shell pm list users
此命令将显示所有用户及其相应的 ID。您可以根据您要启动应用的用户,选择相应的 ID,并将其替换到上述命令中的 USER_ID
位置。
在这里,UserInfo{0:N:c13}
表示主用户(普通用户),而 UserInfo{999:XSpace:801430}
表示 XSpace 用户(双开用户)。
因此,USER_ID
应为 0
或 999
中的一个,具体取决于您希望在主用户还是 XSpace 用户上执行操作。
如果您在启动双开应用时遇到了选择应用的提示,这可能是因为双开应用创建了多个实例,而您的命令只能启动默认实例。您可以尝试通过以下方法之一解决这个问题:
- 指定要启动的用户:双开应用可能会创建多个用户,您可以尝试指定要启动的用户。例如:
adb shell am start --user USER_ID -n PACKAGE_NAME/ACTIVITY_NAME
其中,USER_ID
是用户的 ID,您可以使用 adb shell pm list users
命令来获取。PACKAGE_NAME
是应用的包名,ACTIVITY_NAME
是应用的主活动名。
这个命令发送了一个明确的启动意图,它通常会打开应用的默认实例。请确保替换 PACKAGE_NAME
和 ACTIVITY_NAME
为您要启动的应用的正确值。
已知:有的手机弹出提示请选择要使用的应用,这类手机无法使用
要使用 ADB (Android Debug Bridge) 导出已安装的应用程序的 APK 文件,你可以按照以下步骤进行操作:
- 确保 ADB 已安装并且设备已连接到电脑。
- 确认设备已被 ADB 识别,可以通过命令
adb devices
来检查连接的设备。 - 找到你要导出的应用程序的包名。你可以通过命令
adb shell pm list packages
来列出所有已安装的应用程序包名,也可以使用更精确的命令如adb shell pm list packages | grep <应用名称>
。
假设你已经知道应用程序的包名,例如 com.example.app
,以下是导出 APK 文件的命令步骤:
-
查找应用程序的 APK 文件位置:
adb shell pm path com.example.app
这将返回 APK 文件的路径,例如
/data/app/com.example.app-1/base.apk
。 -
将 APK 文件从设备导出到本地计算机:
adb pull /data/app/com.example.app-1/base.apk ./com.example.app.apk
这个命令会将设备上的 APK 文件复制到当前目录,并命名为
com.example.app.apk
。
如果你想导出更多的信息或者多个 APK 文件,可能需要进行更多的步骤或使用脚本来实现。
总结:
adb devices
adb shell pm path com.example.app
adb pull /data/app/com.example.app-1/base.apk ./com.example.app.apk
确保你有相应的权限来访问设备上的文件。某些设备可能需要 root 权限才能访问 /data/app
目录下的 APK 文件。
根据你提供的信息,APK 文件的路径是 package:/data/app/~~IJaUh7SQaGGZEB4lsL7hXQ==/com.jifen.qukan-2VjpughehVC8ilEd5C-D1Q==/base.apk
。接下来你可以使用 adb pull
命令将这个 APK 文件导出到本地计算机。具体步骤如下:
-
去掉路径中的
package:
前缀,得到实际路径:/data/app/~~IJaUh7SQaGGZEB4lsL7hXQ==/com.jifen.qukan-2VjpughehVC8ilEd5C-D1Q==/base.apk
-
使用
adb pull
命令导出 APK 文件:adb -s 192.168.31.41 pull /data/app/~~IJaUh7SQaGGZEB4lsL7hXQ==/com.jifen.qukan-2VjpughehVC8ilEd5C-D1Q==/base.apk E:\备份\趣头条.apk
完整的命令如下:
adb -s 192.168.31.41 pull /data/app/~~IJaUh7SQaGGZEB4lsL7hXQ==/com.jifen.qukan-2VjpughehVC8ilEd5C-D1Q==/base.apk E:\备份\趣头条.apk
执行这个命令后,APK 文件将会被导出到当前目录,并命名为 趣头条.apk。
本文作者: 永生
本文链接: https://yys.zone/detail/?id=166
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
评论列表 (0 条评论)