खोज…


परिचय

एडीबी (एंड्रॉइड डिबग ब्रिज) एक कमांड लाइन उपकरण है जिसका उपयोग एमुलेटर इंस्टेंस या कनेक्टेड एंड्रॉइड डिवाइस के साथ संवाद करने के लिए किया जाता है।

एडीबी का अवलोकन

इस विषय का एक बड़ा हिस्सा अदब के खोल से अलग हो गया था

टिप्पणियों

शेल शेल में स्थानांतरित उदाहरणों की सूची:

कनेक्ट किए गए उपकरणों की वर्बोज़ सूची प्रिंट करें

से कनेक्ट सभी डिवाइस का एक वर्बोज़ सूची प्राप्त करने के adb , अपने टर्मिनल में निम्न आदेश लिखें:

adb devices -l

उदाहरण आउटपुट

List of devices attached
ZX1G425DC6             device usb:336592896X product:shamu model:Nexus_6 device:shamu
013e4e127e59a868       device usb:337641472X product:bullhead model:Nexus_5X device:bullhead
ZX1D229KCN             device usb:335592811X product:titan_retde model:XT1068 device:titan_umtsds
A50PL                  device usb:331592812X
  • पहला कॉलम डिवाइस का सीरियल नंबर है। यदि यह एमुलेटर- से शुरू होता emulator- , तो यह डिवाइस एमुलेटर है।
  • usb: USB सबसिस्टम में डिवाइस का पथ।
  • product: डिवाइस का उत्पाद कोड। यह बहुत ही निर्माता-विशिष्ट है, और जैसा कि आप Archos डिवाइस A50PL के मामले में ऊपर देख सकते हैं, यह रिक्त हो सकता है।
  • model: डिवाइस मॉडल। product तरह, खाली हो सकता है।
  • device: डिवाइस कोड। यह भी बहुत निर्माता-विशिष्ट है, और खाली हो सकता है।

डिवाइस की जानकारी पढ़ें

अपने टर्मिनल में निम्नलिखित कमांड लिखें:

adb shell getprop

यह कुंजी / मूल्य जोड़े के रूप में सभी उपलब्ध जानकारी को प्रिंट करेगा।

आप केवल एक विशिष्ट कुंजी के नाम को कमांड में जोड़कर विशिष्ट जानकारी पढ़ सकते हैं। उदाहरण के लिए:

adb shell getprop ro.product.model

यहाँ कुछ रोचक जानकारी दी गई है, जो आपको प्राप्त होगी:

  • ro.product.model : मॉडल का मॉडल नाम (जैसे Nexus 6P)
  • ro.build.version.sdk : डिवाइस का API स्तर (जैसे 23)
  • ro.product.brand : डिवाइस की ब्रांडिंग (जैसे सैमसंग)

पूर्ण उदाहरण आउटपुट

[dalvik.vm.dex2oat-Xms]: [64m]
[dalvik.vm.dex2oat-Xmx]: [512m]
[dalvik.vm.heapsize]: [384m]
[dalvik.vm.image-dex2oat-Xms]: [64m]
[dalvik.vm.image-dex2oat-Xmx]: [64m]
[dalvik.vm.isa.x86.variant]: [dalvik.vm.isa.x86.features=default]
[dalvik.vm.isa.x86_64.features]: [default]
[dalvik.vm.isa.x86_64.variant]: [x86_64]
[dalvik.vm.lockprof.threshold]: [500]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
[debug.atrace.tags.enableflags]: [0]
[debug.force_rtl]: [0]
[dev.bootcomplete]: [1]
[gsm.current.phone-type]: [1]
[gsm.defaultpdpcontext.active]: [true]
[gsm.network.type]: [UMTS]
[gsm.nitz.time]: [1469106902492]
[gsm.operator.alpha]: [Android]
[gsm.operator.iso-country]: [us]
[gsm.operator.isroaming]: [false]
[gsm.operator.numeric]: [310260]
[gsm.sim.operator.alpha]: [Android]
[gsm.sim.operator.iso-country]: [us]
[gsm.sim.operator.numeric]: [310260]
[gsm.sim.state]: [READY]
[gsm.version.ril-impl]: [android reference-ril 1.0]
[init.svc.adbd]: [running]
[init.svc.bootanim]: [stopped]
[init.svc.console]: [running]
[init.svc.debuggerd]: [running]
[init.svc.debuggerd64]: [running]
[init.svc.drm]: [running]
[init.svc.fingerprintd]: [running]
[init.svc.gatekeeperd]: [running]
[init.svc.goldfish-logcat]: [stopped]
[init.svc.goldfish-setup]: [stopped]
[init.svc.healthd]: [running]
[init.svc.installd]: [running]
[init.svc.keystore]: [running]
[init.svc.lmkd]: [running]
[init.svc.logd]: [running]
[init.svc.logd-reinit]: [stopped]
[init.svc.media]: [running]
[init.svc.netd]: [running]
[init.svc.perfprofd]: [running]
[init.svc.qemu-props]: [stopped]
[init.svc.ril-daemon]: [running]
[init.svc.servicemanager]: [running]
[init.svc.surfaceflinger]: [running]
[init.svc.ueventd]: [running]
[init.svc.vold]: [running]
[init.svc.zygote]: [running]
[init.svc.zygote_secondary]: [running]
[net.bt.name]: [Android]
[net.change]: [net.dns2]
[net.dns1]: [10.0.2.3]
[net.dns2]: [10.0.2.4]
[net.eth0.dns1]: [10.0.2.3]
[net.eth0.dns2]: [10.0.2.4]
[net.eth0.gw]: [10.0.2.2]
[net.gprs.local-ip]: [10.0.2.15]
[net.hostname]: [android-5e1af924d72dc578]
[net.qtaguid_enabled]: [1]
[net.tcp.default_init_rwnd]: [60]
[persist.sys.dalvik.vm.lib.2]: [libart.so]
[persist.sys.profiler_ms]: [0]
[persist.sys.timezone]: [Europe/Vienna]
[persist.sys.usb.config]: [adb]
[qemu.gles]: [1]
[qemu.hw.mainkeys]: [0]
[qemu.sf.fake_camera]: [none]
[qemu.sf.lcd_density]: [560]
[rild.libargs]: [-d /dev/ttyS0]
[rild.libpath]: [/system/lib/libreference-ril.so]
[ro.allow.mock.location]: [0]
[ro.baseband]: [unknown]
[ro.board.platform]: []
[ro.boot.hardware]: [ranchu]
[ro.bootimage.build.date]: [Thu Jul 7 15:56:30 UTC 2016]
[ro.bootimage.build.date.utc]: [1467906990]
[ro.bootimage.build.fingerprint]: [Android/sdk_google_phone_x86_64/generic_x86_64:6.0/MASTER/3038907:userdebug/test-keys]
[ro.bootloader]: [unknown]
[ro.bootmode]: [unknown]
[ro.build.characteristics]: [emulator]
[ro.build.date]: [Thu Jul  7 15:55:30 UTC 2016]
[ro.build.date.utc]: [1467906930]
[ro.build.description]: [sdk_google_phone_x86_64-userdebug 6.0 MASTER 3038907 test-keys]
[ro.build.display.id]: [sdk_google_phone_x86_64-userdebug 6.0 MASTER 3038907 test-keys]
[ro.build.fingerprint]: [Android/sdk_google_phone_x86_64/generic_x86_64:6.0/MASTER/3038907:userdebug/test-keys]
[ro.build.flavor]: [sdk_google_phone_x86_64-userdebug]
[ro.build.host]: [vpak15.mtv.corp.google.com]
[ro.build.id]: [MASTER]
[ro.build.product]: [generic_x86_64]
[ro.build.tags]: [test-keys]
[ro.build.type]: [userdebug]
[ro.build.user]: [android-build]
[ro.build.version.all_codenames]: [REL]
[ro.build.version.base_os]: []
[ro.build.version.codename]: [REL]
[ro.build.version.incremental]: [3038907]
[ro.build.version.preview_sdk]: [0]
[ro.build.version.release]: [6.0]
[ro.build.version.sdk]: [23]
[ro.build.version.security_patch]: [2015-10-01]
[ro.com.google.locationfeatures]: [1]
[ro.config.alarm_alert]: [Alarm_Classic.ogg]
[ro.config.nocheckin]: [yes]
[ro.config.notification_sound]: [OnTheHunt.ogg]
[ro.crypto.state]: [unencrypted]
[ro.dalvik.vm.native.bridge]: [0]
[ro.debuggable]: [1]
[ro.hardware]: [ranchu]
[ro.hardware.audio.primary]: [goldfish]
[ro.kernel.android.checkjni]: [1]
[ro.kernel.android.qemud]: [1]
[ro.kernel.androidboot.hardware]: [ranchu]
[ro.kernel.clocksource]: [pit]
[ro.kernel.console]: [0]
[ro.kernel.ndns]: [2]
[ro.kernel.qemu]: [1]
[ro.kernel.qemu.gles]: [1]
[ro.opengles.version]: [131072]
[ro.product.board]: []
[ro.product.brand]: [Android]
[ro.product.cpu.abi]: [x86_64]
[ro.product.cpu.abilist]: [x86_64,x86]
[ro.product.cpu.abilist32]: [x86]
[ro.product.cpu.abilist64]: [x86_64]
[ro.product.device]: [generic_x86_64]
[ro.product.locale]: [en-US]
[ro.product.manufacturer]: [unknown]
[ro.product.model]: [Android SDK built for x86_64]
[ro.product.name]: [sdk_google_phone_x86_64]
[ro.radio.use-ppp]: [no]
[ro.revision]: [0]
[ro.runtime.firstboot]: [1469106908722]
[ro.secure]: [1]
[ro.serialno]: []
[ro.wifi.channels]: []
[ro.zygote]: [zygote64_32]
[selinux.reload_policy]: [1]
[service.bootanim.exit]: [1]
[status.battery.level]: [5]
[status.battery.level_raw]: [50]
[status.battery.level_scale]: [9]
[status.battery.state]: [Slow]
[sys.boot_completed]: [1]
[sys.sysctl.extra_free_kbytes]: [43200]
[sys.sysctl.tcp_def_init_rwnd]: [60]
[sys.usb.config]: [adb]
[sys.usb.state]: [adb]
[vold.has_adoptable]: [1]
[wlan.driver.status]: [unloaded]
[xmpp.auto-presence]: [true]

ADB को WiFi के माध्यम से डिवाइस से कनेक्ट करें

मानक ADB कॉन्फ़िगरेशन में भौतिक डिवाइस के लिए USB कनेक्शन शामिल है।
यदि आप चाहें, तो आप टीसीपी / आईपी मोड पर स्विच कर सकते हैं, और इसके बजाय एडीबी को वाईफाई से कनेक्ट कर सकते हैं।

रूट किए गए डिवाइस नहीं

  1. एक ही नेटवर्क पर जाओ:

    • सुनिश्चित करें कि आपका डिवाइस और आपका कंप्यूटर एक ही नेटवर्क पर हैं।
  2. डिवाइस को USB केबल के साथ होस्ट कंप्यूटर से कनेक्ट करें।

  3. नेटवर्क पर डिवाइस से adb कनेक्ट करें:

    जब आपका डिवाइस USB के माध्यम से adb से जुड़ा होता है, तो पोर्ट पर टीसीपी / आईपी कनेक्शन सुनने के लिए निम्न कमांड करें (डिफ़ॉल्ट 5555):

    • adb tcpip <port> टाइप करें (TCP / IP मोड में स्विच करें)।
    • USB केबल को लक्ष्य डिवाइस से डिस्कनेक्ट करें।
    • टाइप करें adb connect <ip address>:<port> (पोर्ट वैकल्पिक है; डिफ़ॉल्ट 5555)।

    उदाहरण के लिए:

    adb tcpip 5555
    adb connect 192.168.0.101:5555
    

    यदि आपको अपने डिवाइस का IP नहीं पता है तो आप कर सकते हैं:

    • अपने डिवाइस के वाईफाई सेटिंग्स में आईपी की जांच करें।
    • IP (USB के माध्यम से) खोजने के लिए ADB का उपयोग करें:
      1. डिवाइस को USB के माध्यम से कंप्यूटर से कनेक्ट करें
      2. कमांड लाइन में, adb shell ifconfig टाइप करें और अपने डिवाइस के IP पते को कॉपी करें

    USB के माध्यम से डिबगिंग पर वापस लौटने के लिए निम्नलिखित कमांड का उपयोग करें:

    adb usb
    

    आप एंड्रॉइड स्टूडियो में एक प्लगइन स्थापित करके एडीबी को वाईफाई के माध्यम से भी कनेक्ट कर सकते हैं। ऐसा करने के लिए, सेटिंग> प्लगइन्स पर जाएं और रिपॉजिटरी ब्राउज़ करें, एडीबी वाईफाई की खोज करें, इसे इंस्टॉल करें और एंड्रॉइड स्टूडियो को फिर से खोलें। आपको अपने टूलबार में एक नया आइकन दिखाई देगा जैसा कि निम्नलिखित छवि में दिखाया गया है। डिवाइस को USB के माध्यम से होस्ट कंप्यूटर से कनेक्ट करें और इस AndroidWiFiADB आइकन पर क्लिक करें। यह एक संदेश प्रदर्शित करेगा कि आपका डिवाइस जुड़ा हुआ है या नहीं। एक बार जब यह जुड़ जाता है तो आप अपने USB को अनप्लग कर सकते हैं।

    नया टूलबार आइकन


रूट किया गया उपकरण

नोट: कुछ डिवाइस जो रूट की गई हैं, इसे सरल तरीके से सक्षम करने के लिए प्ले स्टोर से एडीबी वाईफाई ऐप का उपयोग कर सकते हैं। इसके अलावा, कुछ उपकरणों के लिए (विशेष रूप से CyanogenMod ROM के साथ) यह विकल्प सेटिंग्स के बीच डेवलपर विकल्पों में मौजूद है। यह सक्षम करने से आप आईपी पते दे देंगे और पोर्ट संख्या से कनेक्ट करने के लिए आवश्यक adb बस को क्रियान्वित करते हुए adb connect <ip address>:<port>

जब आपके पास एक रूटेड डिवाइस है, लेकिन USB केबल तक पहुंच नहीं है

प्रक्रिया को निम्नलिखित उत्तर में विस्तार से समझाया गया है: http://stackoverflow.com/questions/2604727/how-can-i-connect-to-android-with-adb-over-tcp/3623727##2323727 सबसे महत्वपूर्ण आदेश नीचे दिखाए गए हैं।

डिवाइस में एक टर्मिनल खोलें और निम्नलिखित टाइप करें:

su
setprop service.adb.tcp.port <a tcp port number>
stop adbd
start adbd

उदाहरण के लिए:

setprop service.adb.tcp.port 5555

और आपके कंप्यूटर पर:

adb connect <ip address>:<a tcp port number>

उदाहरण के लिए:

adb connect 192.168.1.2:5555

इसे बंद करने के लिए:

setprop service.adb.tcp.port -1
stop adbd
start adbd

टाइमआउट से बचें

डिफ़ॉल्ट रूप से 5000 मिनट के बाद adb टाइमआउट होगा। यह कुछ मामलों में हो सकता है जैसे धीमा वाईफाई या बड़ा एपीके।

ग्रैडल विन्यास में एक साधारण परिवर्तन कर सकता है चाल:

android {
    adbOptions {
        timeOutInMs 10 * 1000
    }
}

डिवाइस से (को) फाइल खींचो (पुश)

आप निम्न आदेश को निष्पादित करके डिवाइस से फ़ाइलें (डाउनलोड) खींच सकते हैं:

adb pull <remote> <local>

उदाहरण के लिए:

adb pull /sdcard/ ~/

आप अपने कंप्यूटर से डिवाइस पर फ़ाइलें अपलोड (अपलोड) भी कर सकते हैं:

adb push <local> <remote>

उदाहरण के लिए:

adb push ~/image.jpg /sdcard/

डिवाइस से डेटाबेस को पुनः प्राप्त करने के लिए उदाहरण

sudo adb -d shell "run-as com.example.name cat /data/da/com.example.name /databases/DATABASE_NAME  > /sdcard/file

उपकरण फिर से शुरू करें

आप निम्न कमांड को निष्पादित करके अपने डिवाइस को रिबूट कर सकते हैं:

adb reboot

बूटलोडर में रिबूट करने के लिए इस कमांड को करें:

adb reboot bootloader

पुनर्प्राप्ति मोड में रिबूट:

adb reboot recovery

ध्यान रखें कि डिवाइस पहले बंद नहीं होगा!

Wifi चालू / बंद करें

चालू करो:

adb shell svc wifi enable

बंद करें:

adb shell svc wifi disable

उपलब्ध उपकरण देखें

कमान:

 adb devices

परिणाम उदाहरण:

List of devices attached
emulator-5554  device
PhoneRT45Fr54  offline
123.454.67.45  no device

पहला कॉलम - डिवाइस सीरियल नंबर

दूसरा कॉलम - कनेक्शन की स्थिति

Android प्रलेखन

IP द्वारा डिवाइस कनेक्ट करें

इन आदेशों को Android डिवाइस टर्मिनल में दर्ज करें

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

इसके बाद, आप निम्नलिखित कमांड का उपयोग करके कनेक्ट करने के लिए सीएमडी और एडीबी का उपयोग कर सकते हैं

adb connect 192.168.0.101.5555

और आप इसे अक्षम कर सकते हैं और ADB को USB पर सुनने के साथ वापस कर सकते हैं

setprop service.adb.tcp.port -1
stop adbd
start adbd

कंप्यूटर से, यदि आपके पास पहले से ही USB का उपयोग है (कोई रूट आवश्यक नहीं है)

यदि आपके पास पहले से ही यूएसबी है, तो वाई-फाई का उपयोग करना और भी आसान है। कंप्यूटर पर एक कमांड लाइन से जिसमें डिवाइस यूएसबी के माध्यम से जुड़ा हुआ है, कमांड जारी करता है

adb tcpip 5555
adb connect 192.168.0.101:5555

डिवाइस आईपी के साथ 192.168.0.101 बदलें

प्रारंभ / रोकें अदब

ADB प्रारंभ करें:

adb kill-server

ADB रोकें:

adb start-server

लॉगकाट देखें

आप एक कमांड कमांड के रूप में या सीधे अपने एमुलेटर या कनेक्टेड डिवाइस के शेल प्रॉम्प्ट में logcat चला सकते हैं। adb का उपयोग करके लॉग आउटपुट देखने के लिए, अपने SDK प्लेटफ़ॉर्म-टूल्स / डायरेक्टरी पर जाएँ और निष्पादित करें:

$ adb logcat

वैकल्पिक रूप से, आप किसी उपकरण से शेल कनेक्शन बना सकते हैं और फिर निष्पादित कर सकते हैं:

$ adb shell
$ logcat

एक उपयोगी आदेश है:

adb logcat -v threadtime

यह एक लंबे संदेश प्रारूप में संदेश जारी करने वाले थ्रेड की तारीख, मंगलाचरण, प्राथमिकता, टैग और पीआईडी और टीआईडी प्रदर्शित करता है।


छनन

Logcat लॉग को तथाकथित लॉग स्तर मिला:

वी - वर्बोज़, डी - डिबग, आई - इंफो, डब्ल्यू - वार्निंग, - एरर, एफ - फैटल, एस - इंडेंट

आप लॉग स्तर के रूप में अच्छी तरह से लॉगकैट को फ़िल्टर कर सकते हैं। उदाहरण के लिए यदि आप केवल डिबग स्तर का उत्पादन करना चाहते हैं:

adb logcat *:D

Logcat को पैकेज नाम से फ़िल्टर किया जा सकता है, बेशक आप इसे लॉग लेवल फ़िल्टर के साथ जोड़ सकते हैं:

adb logcat <package-name>:<log level>

आप grep का उपयोग करके लॉग को फ़िल्टर भी कर सकते हैं ( यहां लॉगकैट आउटपुट को फ़िल्टर करने पर अधिक):

adb logcat | grep <some text>

उदाहरण के लिए, विंडोज में, फ़िल्टर का उपयोग किया जा सकता है:

adb logcat | findstr <some text>

वैकल्पिक लॉग बफर देखने के लिए [मुख्य | घटनाएं | रेडियो], -b विकल्प के साथ logcat चलाएं:

adb logcat -b radio

फ़ाइल में आउटपुट सहेजें:

adb logcat > logcat.txt

फाइल को देखने के दौरान भी आउटपुट सेव करें:

adb logcat | tee logcat.txt

लॉग की सफाई:

adb logcat -c

मल्टी डिवाइस सेटिंग में विशिष्ट डिवाइस पर डायरेक्ट एडीबी कमांड

1. सीरियल नंबर द्वारा एक उपकरण को लक्षित करें

किस डिवाइस पर adb कमांड चलना चाहिए, यह चुनने के लिए डिवाइस नाम के बाद -s विकल्प का उपयोग करें। -s विकल्प कमांड के पहले लाइन में होना चाहिए।

adb -s <device> <command>

उदाहरण:

adb devices

List of devices attached
emulator-5554       device
02157df2d1faeb33    device

adb -s emulator-5554 shell

उदाहरण # 2:

adb devices -l

List of devices attached
06157df65c6b2633    device usb:1-3 product:zerofltexx model:SM_G920F device:zeroflte
LC62TB413962        device usb:1-5 product:a50mgp_dug_htc_emea model:HTC_Desire_820G_dual_sim device:htc_a50mgp_dug

adb -s usb:1-3 shell

2. एक उपकरण को लक्षित करें, जब केवल एक डिवाइस प्रकार जुड़ा हुआ है

आप -e के साथ केवल चल रहे एमुलेटर को लक्षित कर सकते हैं

adb -e <command>

या आप -d के साथ एकमात्र कनेक्टेड USB डिवाइस को लक्षित कर सकते हैं

adb -d <command>

डिवाइस डिस्प्ले से स्क्रीनशॉट और वीडियो (केवल किटकैट के लिए) लेना

स्क्रीन शॉट: विकल्प 1 (शुद्ध अदब)

shell एडीबी कमांड हमें डिवाइस के बिल्ट-इन शेल का उपयोग करके कमांड निष्पादित करने की अनुमति देता है। screencap शेल कमांड एक डिवाइस पर वर्तमान में दिखाई देने वाली सामग्री को कैप्चर करता है और इसे दिए गए इमेज फाइल में सेव करता है, जैसे /sdcard/screen.png :

adb shell screencap /sdcard/screen.png

फिर आप डिवाइस से फ़ाइल को वर्तमान निर्देशिका में फ़ाइल को कंप्यूटर पर डाउनलोड करने के लिए पुल कमांड का उपयोग कर सकते हैं:

adb pull /sdcard/screen.png

स्क्रीन शॉट: विकल्प 2 (तेज)

निम्नलिखित एक-लाइनर निष्पादित करें:

(मार्शमैलो और पहले):

adb shell screencap -p | perl -pe 's/\x0D\x0A/\x0A/g' > screen.png

(नौगट और बाद में):

adb shell screencap -p > screen.png

-p फ्लैग screencap कमांड के आउटपुट को -p रीडायरेक्ट करता है। Perl अभिव्यक्ति यह मार्शमैलो और पहले के कुछ अंत मुद्दों पर साफ किया गया है। धारा को वर्तमान निर्देशिका के भीतर screen.png नामक फ़ाइल में लिखा जाता है। अधिक जानकारी के लिए इस लेख और इस लेख को देखें।

वीडियो

यह केवल किटकैट में और केवल एडीबी के माध्यम से काम करता है। यह किटकैट के नीचे काम नहीं कर रहा है अपने डिवाइस की स्क्रीन रिकॉर्ड करना शुरू करने के लिए, निम्न कमांड चलाएं:

adb shell screenrecord /sdcard/example.mp4 , यह आदेश आपके डिवाइस की स्क्रीन को डिफ़ॉल्ट सेटिंग्स का उपयोग करके रिकॉर्ड करना शुरू कर देगा और परिणामी वीडियो को आपके डिवाइस पर /sdcard/example.mp4 फ़ाइल में सहेज देगा।

जब आप रिकॉर्डिंग कर रहे हों, स्क्रीन रिकॉर्डिंग को रोकने के लिए कमांड प्रॉम्प्ट विंडो में Ctrl + C (लिनक्स में z) दबाएँ। फिर आप निर्दिष्ट स्थान पर स्क्रीन रिकॉर्डिंग फ़ाइल पा सकते हैं। ध्यान दें कि स्क्रीन रिकॉर्डिंग आपके डिवाइस के आंतरिक संग्रहण में सहेजी जाती है, आपके कंप्यूटर पर नहीं।

डिफ़ॉल्ट सेटिंग्स आपके डिवाइस के मानक स्क्रीन रिज़ॉल्यूशन का उपयोग करने के लिए हैं, वीडियो को 4Mbps की बिटरेट पर एनकोड करें, और अधिकतम स्क्रीन रिकॉर्डिंग समय को 180 सेकंड तक सेट करें। कमांड-लाइन विकल्पों के बारे में अधिक जानकारी के लिए, आप निम्न कमांड चला सकते हैं:

adb shell screenrecord –help , यह डिवाइस को रूट किए बिना काम करता है। उम्मीद है की यह मदद करेगा।

एप्लिकेशन डेटा साफ़ करें

एक विशेष अनुप्रयोग के उपयोगकर्ता डेटा को adb का उपयोग करके साफ़ कर सकते हैं:

adb shell pm clear <package>

यह फोन पर सेटिंग्स ब्राउज़ करने, एप्लिकेशन का चयन करने और स्पष्ट डेटा बटन पर प्रेस करने के समान है।

  • pm डिवाइस पर पैकेज मैनेजर को आमंत्रित करता है
  • clear पैकेज से जुड़े सभी डेटा को हटा देता है

प्रसारण भेज रहा है

प्रसारण को BroadcastReceiver साथ adb साथ प्रसारित करना संभव है।

इस उदाहरण में हम एक्शन com.test.app.ACTION साथ प्रसारण भेज रहे हैं और बंडल 'foo'='bar' में स्ट्रिंग अतिरिक्त:

adb shell am broadcast -a action com.test.app.ACTION --es foo "bar"

आप किसी अन्य समर्थित प्रकार को बंडल करने के लिए रख सकते हैं, न केवल तार:

--ेज़ - बूलियन
--ईई - पूर्णांक
- लंबा - लंबा
--फ - तैरना
--उप - उरी
- ईया - अंतर सरणी (',' द्वारा अलग)
--ela - लंबी सरणी (',' द्वारा अलग)
--efa - फ्लोट ऐरे (',' द्वारा अलग)
- मेसा - स्ट्रिंग सरणी (',' द्वारा अलग)

विशिष्ट पैकेज / वर्ग -n या -p पैरामीटर में आशय भेजने के लिए उपयोग किया जा सकता है।
पैकेज के लिए भेजा जा रहा है:

-p com.test.app

एक विशिष्ट घटक के लिए भेज रहा है ( SomeReceiver com.test.app package में SomeReceiver वर्ग):

-n com.test.app/.SomeReceiver

उपयोगी उदाहरण:

एप्लिकेशन इंस्टॉल करें और चलाएं

एपीके फ़ाइल स्थापित करने के लिए, निम्न कमांड का उपयोग करें:

adb install path/to/apk/file.apk

या यदि एप्लिकेशन मौजूद है और हम पुनः इंस्टॉल करना चाहते हैं

adb install -r path/to/apk/file.apk 

किसी एप्लिकेशन को अनइंस्टॉल करने के लिए , हमें उसका पैकेज बताना होगा

adb uninstall application.package.name

दिए गए पैकेज नाम (या किसी ऐप में एक विशिष्ट गतिविधि) के साथ एक ऐप शुरू करने के लिए निम्नलिखित कमांड का उपयोग करें:

adb shell am start -n adb shell am start <package>/<activity>

उदाहरण के लिए, वेज़ शुरू करने के लिए:

adb shell am start -n adb shell am start com.waze/com.waze.FreeMapAppActivity

बैकअप

आप अपने डिवाइस का बैकअप adb backup लिए adb backup कमांड का उपयोग कर सकते हैं।

adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] 
           [-system|nosystem] [<packages...>]

-f <filename> फ़ाइल नाम डिफ़ॉल्ट निर्दिष्ट करें : वर्तमान निर्देशिका में backup.ab बनाता है

-apk|noapk सक्षम / अक्षम बैकअप .apks डिफ़ॉल्ट रूप से: -noapk

-obb|noobb सक्षम / अतिरिक्त फ़ाइलों का बैकअप डिफॉल्ट रूप से अक्षम : -नॉब

-shared|noshared बैकअप डिवाइस का साझा संग्रहण / SD कार्ड सामग्री डिफ़ॉल्ट: -nosared

-all बैकअप सभी स्थापित आवेदन

-system|nosystem में सिस्टम एप्लिकेशन डिफ़ॉल्ट रूप से शामिल -system|nosystem हैं : -system

<packages> संकुल की एक सूची का बैकअप लिया जाना (जैसे com.example.android.myapp) (की जरूरत नहीं है, तो -all निर्दिष्ट किया जाता है)


एक पूर्ण डिवाइस बैकअप के लिए, सब कुछ सहित, उपयोग करें

adb backup -apk -obb -shared -all -system -f fullbackup.ab

नोट: एक पूर्ण बैकअप करने में लंबा समय लग सकता है।


बैकअप को पुनर्स्थापित करने के लिए, का उपयोग करें

adb restore backup.ab

लिनक्स सिस्टम पर एडीबी स्थापित करें

अपने डिस्ट्रो के रिपॉजिटरी का उपयोग करके टर्मिनल के साथ लिनक्स सिस्टम में एंड्रॉइड डिबगिंग ब्रिज (एडीबी) कैसे स्थापित करें।

उपयुक्त के माध्यम से उबंटू / डेबियन सिस्टम में स्थापित करें:

sudo apt-get update
sudo apt-get install adb

यम के माध्यम से Fedora / CentOS सिस्टम में इंस्टॉल करें:

sudo yum check-update
sudo yum install android-tools

पोर्ट के साथ Gentoo सिस्टम में इंस्टॉल करें:

sudo emerge --ask dev-util/android-tools

Zypper के साथ OpenSUSE सिस्टम में इंस्टॉल करें:

sudo zypper refresh
sudo zypper install android-tools 

पेसमैन के साथ आर्क सिस्टम पर इंस्टॉल करें:

sudo pacman -Syyu
sudo pacman -S android-tools

एंड्रॉइड 6.0 पर उपयोगकर्ताओं से रनटाइम अनुदान की आवश्यकता वाले सभी अनुमतियों की सूची बनाएं

adb shell pm list permissions -g -d 

किसी एप्लिकेशन का आंतरिक डेटा (डेटा / डेटा / डेटा देखें) ) एक उपकरण पर

सबसे पहले, सुनिश्चित करें कि आपका ऐप AndroidManifest.xml , यानी android:allowBackup में बैकअप किया जा सकता है android:allowBackup false नहीं false

बैकअप कमांड:

adb -s <device_id> backup -noapk <sample.package.id>

Dd कमांड के साथ एक टार बनाएं:

dd if=backup.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" > backup.tar

टार निकालें:

tar -xvf backup.tar

फिर आप निकाले गए सामग्री को देख सकते हैं।

गतिविधि स्टैक देखें

adb -s <serialNumber> shell dumpsys activity activities

watch यूनिक्स कमांड के साथ एक साथ उपयोग किए जाने पर बहुत उपयोगी:

watch -n 5 "adb -s <serialNumber> shell dumpsys activity activities | sed -En -e '/Stack #/p' -e '/Running activities/,/Run #0/p'"

किसी ऐप की कैशे फ़ाइलों को देखें और खींचें

आप अपने खुद के डिबग करने योग्य फ़ाइलों के लिए फाइलों को सूचीबद्ध करने के लिए इस कमांड का उपयोग कर सकते हैं:

adb shell run-as <sample.package.id> ls /data/data/sample.package.id/cache

और यह स्क्रिप्ट कैश से खींचने के लिए, यह सामग्री पहले sdcard की प्रतिलिपि बनाती है, इसे खींचती है और फिर अंत में इसे हटा देती है:

#!/bin/sh
adb shell "run-as <sample.package.id> cat '/data/data/<sample.package.id>/$1' > '/sdcard/$1'"
adb pull "/sdcard/$1"
adb shell "rm '/sdcard/$1'"

फिर आप इस तरह से कैशे से फाइल खींच सकते हैं:

./pull.sh cache/someCachedData.txt

ADB के माध्यम से डेटाबेस फ़ाइल प्राप्त करें

sudo adb -d shell "run-as com.example.name cat /data/da/com.example.name /databases/STUDENT_DATABASE  > /sdcard/file


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow