知乎专栏 |
默认情况执行 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