【ADB相关指令】

本文详细介绍了如何使用ADB命令进行设备root、挂载、刷机,以及如何获取和操作相机参数、dump传感器数据。还涵盖了屏幕唤醒、文件操作、logcat监控等关键步骤。

ADB相关指令


adb root
adb remount 获取操作权限
在输入adb root,获得root权限。再输入adb remount挂在分区(可使系统分区重新可写),如果出现错误,先输入adb disable-verity,在输入adb reboot,
adb reboot重启设备 。及再次输入adb remount 就不会出错adb reboot recovery 安卓手机恢复出厂设置命令
adb shell input keyevent 26 唤醒屏幕
adb shell “sleep 3”
adb shell input keyevent 26 第二次输入是锁屏
adb shell input keyevent 25 打开相机
adb shell input keyevent 4 关闭相机
adb pull sdcard/dcim/camera +路径 pull照片
data/vendor/camera raw地址
adb push +地址+ sdcard/dcim/camera push到手机相册里
/vendor/lib/ 相机参数地址
adb shell ls -all vendor/lib/ ov16e10 查看参数是否push到手机相机里(时间戳)
adb logcat >F:\project\emmm.log 后跟地址 会有新建文件夹
adb reboot edl 进刷机 9008模式 Android Debug Bridge.

OTP数据的dump
开启OTP的dump开关:
adb root & remount 成功之后,写入下值:
如果root remount 不成功得到话,运行这个代码,相当于获得权限。adb disable-verity
再一次的root remount
adb shell “echo dumpSensorEEPROMData=Value>> \ / vendor/etc/camera/camxoverridesettings.txt”
若/vendor/etc下无camera 文件夹,则可以手动建camera 文件夹并新建camxoverridesettings.txt文件
重启手机,打开对应的camera。即可获得dump的数据(前提OTP已经导通),存放路径位于:
/data/vendor/camera或者/data/misc/camera
ls 查看

cd

新平台的dump的OTP数据同之前平台在结构和命名上均无差异。
exit 退出adb shell 模式
md新建文件夹 rd 删除文件夹
rm -rf * .* 第一个*必须要比后面多一个空格,.点代表文件夹 因为文件都有一个 .
校正cc需要gamma值将gamma中normal、lowlight、outdoor
导出adb shell logcat | find “gain”
替换gain 可以查所有名词
实例:adb logcat -v time -s videocamera
意思是说,会打印出 log 信息中时间,以及包含关键字 “videocamera” 的所有 log
信息如下
C:\Users\Administrator>adb logcat -v time -s videocamera fulin
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
07-01 08:43:57.037 V/videocamera( 2329): VideoCamera onCreate!
07-01 08:43:57.039 I/videocamera( 2329): getExternalSdState() : removed
07-01 08:43:57.040 I/videocamera( 2329): getExternalState() : mounted
07-01 08:43:57.040 I/videocamera( 2329): Sdcard is exists ? false
07-01 08:43:57.157 V/videocamera( 2329): fulin onCreate Storage.getAvailableSpace() 1335459840
07-01 08:43:57.159 V/videocamera( 2329): fulin initThumbnailButton
07-01 08:43:57.170 D/videocamera( 2329): Thumbnail.getLastThumbnail >>>
07-01 08:43:57.204 E/videocamera( 2329): --------------readVideoPreferences---------------minutes = 600
07-01 08:43:57.205 E/videocamera( 2329): --------------readVideoPreferences----------quality6=10
07-01 08:43:57.207 E/videocamera( 2329): -----------------readVideoPreferences---------mCameraId=0
07-01 08:43:57.208 E/videocamera( 2329): -----------------readVideoPreferences---------quality7=10
07-01 08:43:57.209 V/videocamera( 2329): mDesiredPreviewWidth= 640. mDesiredPreviewHeight=480
07-01 08:43:57.234 V/videocamera( 2329): startPreview
07-01 08:43:57.240 V/videocamera( 2329): videocamera–mParameters.setFocusMode(mFocusManager.getFocusMode())
07-01 08:43:57.265 D/videocamera( 2329): Thumbnail.getLastThumbnail <<< is null:false
07-01 08:43:57.269 V/videocamera( 2329): Video snapshot size is 3264x2448
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 176x144
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 320x240
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 352x288
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 480x368
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 640x480
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 720x480
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 800x600
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 864x480
07-01 08:43:57.376 D/videocamera( 2329): SupportedPreviewSizes : 1280x720
07-01 08:43:57.422 V/videocamera( 2329): updateSceneOnScreenIndicator isVisible falsemSceneIndicatorandroid.widget.ImageView@41acd0e0

adb reboot 重启
adb remount 不了:adb disable-verity 重启
新建文件夹:mkdir camera
新建txt:touch camxoverridesettings.txt
Sensordebug.bat 将命令放到文档里面 记录 项目新建的vendor/etc/camera/camxoverridesettings.txt
adb logcat | findstr “m_numS” 查看相机调用的参数 如下图所示

字节第二个项目sailor 打log看gain的命令
adb shell logcat | grep GetExposureData
华勤1871项目,查看手机模组信息的命令
adb shell cat proc/cameraModuleInfo
将电脑文件的后缀名字YUV420NV12TP10改为yuv的命令行逻辑关系rename关键字
C:\Users\49076>f:
F:>cd F:\project\4_dete\tuning\picture\Camera
F:\project\4_dete\tuning\picture\Camera>rename *.YUV420NV12TP10 *.yuv

### ADB关机指令的用法或语法 ADB(Android Debug Bridge)是Android开发与测试中不可或缺的工具,用于实现电脑端与设备之间的交互[^2]。通过ADB命令可以执行多种操作,包括设备的关机。以下是ADB关机指令的具体用法和语法: #### 1. 使用反射调用shutdown方法 由于Android系统中的`IPowerManager`实现了`shutdown`接口,因此可以通过反射调用该方法来实现关机功能。具体步骤如下: - 首先需要获取Power服务的`IBinder`对象。 - 然后通过Java反射机制调用`shutdown`方法。 代码示例如下: ```java try { Class<?> powerManagerClass = Class.forName("android.os.PowerManager"); Method shutdownMethod = powerManagerClass.getMethod("shutdown", boolean.class, boolean.class); Object powerManagerInstance = getSystemService(Context.POWER_SERVICE); shutdownMethod.invoke(powerManagerInstance, false, false); // 参数表示是否重启以及是否强制关机 } catch (Exception e) { e.printStackTrace(); } ``` 上述代码通过反射调用了`shutdown`方法来实现设备的关机[^4]。 #### 2. 使用adb shell命令 另一种方式是直接通过ADB命令行发送关机指令。可以使用以下命令: ```bash adb shell reboot -p ``` 此命令会向设备发送关机信号,`-p`参数表示关机操作[^4]。 #### 3. 调用PowerManager的reboot接口 虽然`PowerManager`主要提供的是重启接口,但也可以通过传递特定参数实现关机功能。例如: ```java PowerManager pManager = (PowerManager) getSystemService(Context.POWER_SERVICE); pManager.reboot(null); // 传递null参数表示关机 ``` 这种方式通过调用`reboot`接口并传递`null`参数来实现设备的关机。 #### 注意事项 - 在执行关机命令前,确保设备已正确连接并通过`adb devices`命令验证设备在线状态[^3]。 - 如果设备未正确连接或未授权,关机命令可能无法生效。 - 关机操作可能需要设备具有root权限,具体取决于设备的配置和系统版本。 ### 示例代码 以下是一个完整的Python脚本示例,展示如何通过ADB命令实现设备关机: ```python import subprocess def adb_command(command): process = subprocess.Popen(command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) output, error = process.communicate() if error: print(f"Error: {error.decode('utf-8')}") else: print(output.decode('utf-8')) # 检查设备连接状态 adb_command("adb devices") # 执行关机命令 adb_command("adb shell reboot -p") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值