| 知乎专栏 |
默认情况执行 adb 会提示找不到命令
neo@MacBook-Pro-M2 ~ % adb zsh: command not found: adb
![]() | 提示 |
|---|---|
|
这里我使用的是 zsh shell
neo@MacBook-Pro-M2 ~ % open -e .zprofile
export PATH=${PATH}:~/Library/Android/sdk/platform-tools
|
现在可以正常使用了
neo@MacBook-Pro-M2 ~ % adb version Android Debug Bridge version 1.0.41 Version 34.0.4-10411341 Installed as /Users/neo/Library/Android/sdk/platform-tools/adb Running on Darwin 23.0.0 (arm64)
neo@MacBook-Pro-M2 ~ % adb push public.libraries.txt /system/etc/public.libraries.txt public.libraries.txt: 1 file pushed, 0 skipped. 1.0 MB/s (485 bytes in 0.000s) adb: error: failed to copy 'public.libraries.txt' to '/system/etc/public.libraries.txt': remote couldn't create file: Read-only file system
neo@MacBook-Pro-M2 ~ % adb root neo@MacBook-Pro-M2 ~ % adb push public.libraries.txt /system/etc/public.libraries.txt public.libraries.txt: 1 file pushed, 0 skipped. 1.4 MB/s (485 bytes in 0.000s) adb: error: failed to copy 'public.libraries.txt' to '/system/etc/public.libraries.txt': remote couldn't create file: Read-only file system
neo@MacBook-Pro-M2 ~ % adb remount Using overlayfs for /system Using overlayfs for /vendor Using overlayfs for /odm Using overlayfs for /product Using overlayfs for /system_ext Now reboot your device for settings to take effect remount succeeded
neo@MacBook-Pro-M2 ~ % adb push public.libraries.txt /system/etc/public.libraries.txt public.libraries.txt: 1 file pushed, 0 skipped. 1.5 MB/s (485 bytes in 0.000s)
neo@MacBook-Pro-M2 ~ % adb devices List of devices attached 0123456789ABCDEF device CFE6R21625003544 device
查看详细信息
neo@MacBook-Pro-M2 ~ % adb devices -l List of devices attached 0123456789ABCDEF device usb:1310720X product:full_aiv8167sm3_bsp model:aiv8167sm3_bsp device:aiv8167sm3_bsp transport_id:2 CFE6R21625003544 device usb:1114112X product:MRR-W29 model:MRR_W29 device:HWMRR-Q transport_id:1
neo@MacBook-Pro-M2 ~ % adb -s CFE6R21625003544 shell HWMRR-Q:/ $
neo@MacBook-Pro-M2 ~> adb shell ifconfig
wlan0 Link encap:Ethernet HWaddr c0:84:7d:2b:3c:24
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope: Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:340 errors:0 dropped:0 overruns:0 frame:0
TX packets:340 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:27313 TX bytes:27313
eth0 Link encap:Ethernet HWaddr 86:7a:05:cc:ae:72
inet6 addr: fe80::847a:5ff:fecc:ae72/64 Scope: Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:508
Interrupt:42
neo@MacBook-Pro-M2 ~> adb shell cat /proc/meminfo MemTotal: 2043916 kB MemFree: 844392 kB MemAvailable: 1334032 kB Buffers: 6376 kB Cached: 609984 kB SwapCached: 0 kB Active: 562872 kB Inactive: 346688 kB Active(anon): 297196 kB Inactive(anon): 116108 kB Active(file): 265676 kB Inactive(file): 230580 kB Unevictable: 256 kB Mlocked: 256 kB HighTotal: 1564672 kB HighFree: 661800 kB LowTotal: 479244 kB LowFree: 182592 kB SwapTotal: 520908 kB SwapFree: 520908 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 293468 kB Mapped: 348972 kB Shmem: 120132 kB Slab: 194608 kB SReclaimable: 172360 kB SUnreclaim: 22248 kB KernelStack: 5376 kB PageTables: 12448 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 1542864 kB Committed_AS: 25076844 kB VmallocTotal: 499712 kB VmallocUsed: 0 kB VmallocChunk: 0 kB CmaTotal: 16384 kB CmaFree: 14540 kB
neo@MacBook-Pro-M2 ~> adb shell cat /system/build.prop # begin build properties # autogenerated by buildinfo.sh ro.build.id=NHG47K ro.build.display.id=rk3288-userdebug 7.1.2 NHG47K eng.server22.20230423.034518 test-keys ro.build.version.incremental=eng.server22.20230423.034518 ro.build.version.sdk=25 ro.build.version.preview_sdk=0 ro.build.version.codename=REL ro.build.version.all_codenames=REL ro.build.version.release=7.1.2 ro.build.version.security_patch=2017-04-05 ro.build.version.base_os= ro.build.date=Sun Apr 23 03:45:18 UTC 2023 ro.build.date.utc=1682221518 ro.build.type=userdebug ro.build.user=server22 ro.build.host=server-zysj-03 ro.build.tags=test-keys ro.build.flavor=rk3288-userdebug ro.product.model=rk3288 ro.product.brand=Android ro.product.name=rk3288 ro.product.device=rk3288 ro.product.board=rk30sdk # ro.product.cpu.abi and ro.product.cpu.abi2 are obsolete, # use ro.product.cpu.abilist instead. ro.product.cpu.abi=armeabi-v7a ro.product.cpu.abi2=armeabi ro.product.cpu.abilist=armeabi-v7a,armeabi ro.product.cpu.abilist32=armeabi-v7a,armeabi ro.product.cpu.abilist64= ro.product.manufacturer=rockchip ro.product.locale.language=zh ro.product.locale.region=CN persist.sys.timezone=Asia/Shanghai ro.wifi.channels= ro.board.platform=rk3288 # ro.build.product is obsolete; use ro.product.device ro.build.product=rk3288 # Do not try to parse description, fingerprint, or thumbprint ro.build.description=rk3288-userdebug 7.1.2 NHG47K eng.server22.20230423.034518 test-keys ro.build.fingerprint=Android/rk3288/rk3288:7.1.2/NHG47K/server04230345:userdebug/test-keys ro.build.characteristics=tablet # end build properties # # from device/rockchip/rk3288/system.prop # # # system.prop # # modify by alvin, support for 4G patch. rild.libpath=/system/lib/libreference-ril.so rild.libargs=-d /dev/ttyUSB3 # Default ecclist ro.ril.ecclist=112,911 ro.opengles.version=196610 wifi.interface=wlan0 # modify by alvin, support for 4G patch. #rild.libpath=/system/lib/libril-rk29-dataonly.so #rild.libargs=-d /dev/ttyACM0 persist.tegra.nvmmlite = 1 ro.audio.monitorOrientation=true #NFC debug.nfc.fw_download=false debug.nfc.se=false #add Rockchip properties here ro.rk.screenoff_time=2147483647 ro.rk.screenshot_enable=true ro.rk.def_brightness=200 ro.rk.homepage_base=http://m.baidu.com/?from=844&vit=fps ro.rk.install_non_market_apps=false sys.hwc.compose_policy=0 sys.wallpaper.rgb565=0 sf.power.control=2073600 sys.rkadb.root=0 ro.sf.fakerotation=false ro.sf.hwrotation=0 ro.rk.MassStorage=false ro.rk.systembar.voiceicon=true ro.rk.systembar.tabletUI=false ro.rk.LowBatteryBrightness=false ro.tether.denied=false #repair by alvin, surport change system density value. sys.resolution.changed=true ro.default.size=100 #persist.sys.timezone= ro.product.usbfactory=rockchip_usb wifi.supplicant_scan_interval=15 ro.factory.tool=0 ro.kernel.android.checkjni=0 #set default lcd density to Rockchip tablet ro.sf.lcd_density=240 ro.adb.secure=0 ro.rk.displayd.enable=false #/*add by yfc for show vendor id*/ ro.source.code.version = 220 #add by alvin for hdmi rotation ro.same.orientation=true ro.orientation.einit=0 ro.rotation.external=true #add by alvin, support for config camera rotation. ro.camera.param.degree=0 ro.camera.back=0 ro.camera.place=0 # add by alvin for system 4k ui # default main framebuffer resolution persist.sys.framebuffer.main=1536x2048 sys.hwc.device.primary=HDMI-A # # ADDITIONAL_BUILD_PROPERTIES # ro.target.product=tablet dalvik.vm.heapstartsize=16m dalvik.vm.heapgrowthlimit=480m dalvik.vm.heapsize=520m dalvik.vm.heaptargetutilization=0.75 dalvik.vm.heapminfree=512k dalvik.vm.heapmaxfree=8m ro.config.ringtone=Ring_Synth_04.ogg ro.config.notification_sound=pixiedust.ogg ro.carrier=unknown ro.config.alarm_alert=Alarm_Classic.ogg ro.rksdk.version=RK30_ANDROID7.1.2-SDK-v1.00.00 camera2.portability.force_api=1 persist.sys.strictmode.visual=false ro.rk.bt_enable=true ro.rk.flash_enable=true ro.rk.hdmi_enable=true ro.factory.hasUMS=false persist.sys.usb.config=mtp,adb testing.mediascanner.skiplist=/mnt/shell/emulated/Android/ ro.factory.hasGPS=false ro.factory.storage_suppntfs=true ro.factory.without_battery=false ro.rk.screenoff_time=2147483647 ro.com.widevine.cachesize=16777216 ro.enable.optee=true ro.product.first_api_level=23 ro.boot.noril=true keyguard.no_require_sim=true ro.com.android.dataroaming=true ril.function.dataonly=1 ro.config.enable.remotecontrol=false ro.udisk.visible=true ro.safemode.disabled=true ro.wallpaper.fixsize=true ro.hwui.texture_cache_size=72 ro.hwui.layer_cache_size=48 ro.hwui.r_buffer_cache_size=8 ro.hwui.path_cache_size=32 ro.hwui.gradient_cache_size=1 ro.hwui.drop_shadow_cache_size=6 ro.hwui.texture_cache_flushrate=0.4 ro.hwui.text_small_cache_width=1024 ro.hwui.text_small_cache_height=1024 ro.hwui.text_large_cache_width=2048 ro.hwui.text_large_cache_height=1024 ro.hwui.disable_scissor_opt=true ro.rk.screenshot_enable=true sys.status.hidebar_enable=false persist.sys.ui.hw=true ro.product.version=1.0.0 ro.product.ota.host=www.rockchip.com:2300 ro.sys.sdcardfs=true persist.sys.dalvik.vm.lib.2=libart.so dalvik.vm.isa.arm.variant=cortex-a15 dalvik.vm.isa.arm.features=default dalvik.vm.lockprof.threshold=500 net.bt.name=Android dalvik.vm.stack-trace-file=/data/anr/traces.txt ro.expect.recovery_id=0x182fbd9a6eea8693a3aeac4bfab86ba6271f55d1000000000000000000000000
获取指定的属性 adb shell getprop net.bt.name
neo@MacBook-Pro-M2 ~> adb shell getprop net.bt.name Android
RK3566:/ # settings put global policy_control immersive.full=* RK3566:/ # settings put global policy_control immersive.status=* RK3566:/ # settings put global policy_control immersive.navigation=*
neo@MacBook-Pro-M2 ~> adb shell getprop ro.build.version.release 7.1.2
neo@MacBook-Pro-M2 ~> adb logcat neo@MacBook-Pro-M2 ~> adb -s CFE6R21625003544 logcat
adb push libtinyalsa.so /system/lib/
neo@MacBook-Pro-M2 ~> adb push netkiller.wav /sdcard/
neo@MacBook-Pro-M2 tmp % adb pull /sdcard/file.wav /sdcard/file.wav: 1 file pulled, 0 skipped. 0.0 MB/s (44 bytes in 0.002s)
-l :锁定应用程序
-t :允许测试包
-d :允许降级覆盖安装
-p :部分应用安装
-g :为应用程序授予所有运行时的权限
neo@MacBook-Pro-M2 ~> adb install netkiller.apk
neo@MacBook-Pro-M2 ~> adb shell wm size Physical size: 1536x2048 neo@MacBook-Pro-M2 ~> adb shell wm density Physical density: 240
neo@MacBook-Pro-M2 ~> adb shell dumpsys window displays
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)
Display: mDisplayId=0
init=1536x2048 240dpi cur=1536x2048 app=1536x1964 rng=1536x1416-2048x1928
deferred=false layoutNeeded=false
Application tokens in top down Z order:
mStackId=1
mDeferDetach=false
mFullscreen=true
mBounds=[0,0][1536,2048]
taskId=56
mFullscreen=true
mBounds=[0,0][1536,2048]
mdr=false
appTokens=[AppWindowToken{1c392c token=Token{ff4ab7e ActivityRecord{379f939 u0 com.wc.holoos/.player.PlayClockActivity t56}}}]
mTempInsetBounds=[0,0][0,0]
Activity #0 AppWindowToken{1c392c token=Token{ff4ab7e ActivityRecord{379f939 u0 com.wc.holoos/.player.PlayClockActivity t56}}}
windows=[Window{73ec1eb u0 com.wc.holoos/com.wc.holoos.player.PlayClockActivity}]
windowType=2 hidden=false hasVisible=true
app=true voiceInteraction=false
allAppWindows=[Window{73ec1eb u0 com.wc.holoos/com.wc.holoos.player.PlayClockActivity}]
task={taskId=56 appTokens=[AppWindowToken{1c392c token=Token{ff4ab7e ActivityRecord{379f939 u0 com.wc.holoos/.player.PlayClockActivity t56}}}] mdr=false}
appFullscreen=true requestedOrientation=1
hiddenRequested=false clientHidden=false reportedDrawn=true reportedVisible=true
numInterestingWindows=1 numDrawnWindows=1 inPendingTransaction=false allDrawn=true (animator=true)
startingData=null removed=false firstWindowDrawn=true mIsExiting=false
mStackId=0
mDeferDetach=false
mFullscreen=true
mBounds=[0,0][1536,2048]
taskId=55
mFullscreen=true
mBounds=[0,0][1536,2048]
mdr=false
appTokens=[AppWindowToken{56cdf68 token=Token{362805a ActivityRecord{b30e805 u0 com.wc.holoos/.MainActivity t55}}}]
mTempInsetBounds=[0,0][0,0]
Activity #0 AppWindowToken{56cdf68 token=Token{362805a ActivityRecord{b30e805 u0 com.wc.holoos/.MainActivity t55}}}
windows=[Window{90133ba u0 com.wc.holoos/com.wc.holoos.MainActivity}]
windowType=2 hidden=true hasVisible=true
app=true voiceInteraction=false
allAppWindows=[Window{90133ba u0 com.wc.holoos/com.wc.holoos.MainActivity}]
task={taskId=55 appTokens=[AppWindowToken{56cdf68 token=Token{362805a ActivityRecord{b30e805 u0 com.wc.holoos/.MainActivity t55}}}] mdr=false}
appFullscreen=true requestedOrientation=1
hiddenRequested=true clientHidden=true reportedDrawn=false reportedVisible=false
mAppStopped=true
numInterestingWindows=1 numDrawnWindows=1 inPendingTransaction=false allDrawn=true (animator=true)
startingData=null removed=false firstWindowDrawn=true mIsExiting=false
DimLayerController
Task=55
dimLayer=shared, animator=null, continueDimming=false
mDimSurface=Surface(name=DimLayerController/Stack=0) mLayer=110999 mAlpha=0.0
mLastBounds=[-384,-512][1920,2560] mBounds=[-384,-512][1920,2560]
Last animation: mDuration=200 mStartTime=7877723 curTime=9020147
mStartAlpha=0.6 mTargetAlpha=0.0
Task=56
dimLayer=shared, animator=null, continueDimming=false
mDimSurface=Surface(name=DimLayerController/Stack=0) mLayer=110999 mAlpha=0.0
mLastBounds=[-384,-512][1920,2560] mBounds=[-384,-512][1920,2560]
Last animation: mDuration=200 mStartTime=7877723 curTime=9020147
mStartAlpha=0.6 mTargetAlpha=0.0
Stack=1
dimLayer=shared, animator=null, continueDimming=false
mDimSurface=Surface(name=DimLayerController/Stack=0) mLayer=110999 mAlpha=0.0
mLastBounds=[-384,-512][1920,2560] mBounds=[-384,-512][1920,2560]
Last animation: mDuration=200 mStartTime=7877723 curTime=9020147
mStartAlpha=0.6 mTargetAlpha=0.0
Stack=0
dimLayer=shared, animator=null, continueDimming=false
mDimSurface=Surface(name=DimLayerController/Stack=0) mLayer=110999 mAlpha=0.0
mLastBounds=[-384,-512][1920,2560] mBounds=[-384,-512][1920,2560]
Last animation: mDuration=200 mStartTime=7877723 curTime=9020147
mStartAlpha=0.6 mTargetAlpha=0.0
DockedStackDividerController
mLastVisibility=false
mMinimizedDock=false
mAdjustedForIme=false
mAdjustedForDivider=false
dpi
rk3568_r:/ $ wm size Physical size: 1536x2048 rk3568_r:/ $ wm density Physical density: 240 rk3566_rgo:/ # wm size Physical size: 1536x2048 rk3566_rgo:/ # wm density Physical density: 680
neo@MacBook-Pro-M2 ~> adb shell dumpsys
neo@MacBook-Pro-M2 ~> adb shell dumpsys battery Current Battery Service state: AC powered: true USB powered: false Wireless powered: false Max charging current: 0 Max charging voltage: 0 Charge counter: 0 status: 2 health: 2 present: true level: 100 scale: 100 voltage: 0 temperature: 424 technology:
neo@MacBook-Pro-M2 ~ % adb root neo@MacBook-Pro-M2 ~ % adb reboot bootloader neo@MacBook-Pro-M2 ~ % fastboot flashing unlock neo@MacBook-Pro-M2 ~ % fastboot getvar unlocked neo@MacBook-Pro-M2 ~ % adb disable-verity neo@MacBook-Pro-M2 ~ % adb reboot neo@MacBook-Pro-M2 ~ % adb root neo@MacBook-Pro-M2 ~ % adb remount
蓝牙相关adb命令
查看蓝牙信息
neo@MacBook-Pro-M2 ~ % adb shell dumpsys bluetooth_manager Bluetooth Status enabled: true state: ON address: 22:22:9D:4D:03:00 name: Bluetooth time since enabled: 00:12:52.801
获取蓝牙开关状态
adb shell settings get global bluetooth_on
返回1表示开启,0表示关闭
neo@MacBook-Pro-M2 ~ % adb shell settings get global bluetooth_on 1
打开蓝牙
adb shell service call bluetooth_manager 6
关闭蓝牙
adb shell service call bluetooth_manager 8
允许被发现,此时屏幕会弹出,需要按键确认
adb shell am start -a android.bluetooth.adapter.action.REQUEST_DISCOVERABLE
获取蓝牙MAC地址
adb shell settings get secure bluetooth_address