Android Debug Bridge (adb
), bir cihazla iletişim kurmanıza olanak tanıyan çok yönlü bir komut satırı aracıdır. adb
komutu, uygulama yükleme ve hata ayıklama gibi çeşitli cihaz işlemlerini kolaylaştırır. adb
, bir cihazda çeşitli komutlar çalıştırmak için kullanabileceğiniz bir Unix kabuğuna erişim sağlar. Üç bileşen içeren bir istemci-sunucu programıdır:
- Komut gönderen bir istemci. İstemci, geliştirme makinenizde çalışır.
adb
komutunu göndererek komut satırı terminalinden istemci çağırabilirsiniz. - Bir cihazda komutları çalıştıran bir daemon (adbd). Arka plan programı her cihazda arka plan işlemi olarak çalışır.
- İstemci ile daemon arasındaki iletişimi yöneten bir sunucu. Sunucu, geliştirme makinenizde arka plan işlemi olarak çalışır.
adb
, Android SDK Platform Tools paketine dahildir. Bu paketi android_sdk/platform-tools/
adresine yükleyen SDK Yöneticisi ile indirin. Bağımsız Android SDK Platform Tools paketini buradan indirebilirsiniz.
Yaygın sorunları gidermek için Bağlantı Asistanı'nın nasıl kullanılacağı da dahil olmak üzere bir cihazı adb
üzerinden kullanmak üzere bağlama hakkında bilgi edinmek için Donanım cihazında uygulama çalıştırma başlıklı makaleyi inceleyin.
adb nasıl çalışır?
Bir adb
istemcisini başlattığınızda istemci, önce zaten çalışan bir adb
sunucu işlemi olup olmadığını kontrol eder. Aksi takdirde sunucu işlemini başlatır.
Sunucu başladığında yerel TCP 5037 bağlantı noktasına bağlanır ve adb
istemcilerinden gönderilen komutları dinler.
Not: Tüm adb
istemcileri, adb
sunucusuyla iletişim kurmak için 5037 bağlantı noktasını kullanır.
Ardından sunucu, çalışan tüm cihazlarla bağlantı kurar.
İlk 16 emülatör tarafından kullanılan 5555 ila 5585 aralığındaki tek sayılı bağlantı noktalarını tarayarak emülatörleri bulur. Sunucu bir adb
daemon (adbd) bulduğunda, söz konusu bağlantı noktasına bir bağlantı kurar.
Her emülatör, sıralı bir çift bağlantı noktası kullanır: Konsola bağlantıları için çift haneli bir bağlantı noktası ve adb
bağlantıları için tek haneli bir bağlantı noktası. Örnek:
Emülatör 1, konsol: 5554
Emülatör 1, adb
: 5555
Emülatör 2, konsol: 5556
Emülatör 2, adb
: 5557
vb.
Gösterildiği gibi, 5555 numaralı bağlantı noktasında adb
adresine bağlı olan emülatör, konsolu 5554 numaralı bağlantı noktasında dinleyen emülatörle aynıdır.
Sunucu tüm cihazlarla bağlantı kurduktan sonra bu cihazlara erişmek için adb
komutlarını kullanabilirsiniz. Sunucu, cihazlara olan bağlantıları yönetir ve birden fazla adb
istemciden gelen komutları işler. Bu nedenle, herhangi bir cihazı herhangi bir istemciden veya komut dosyasından kontrol edebilirsiniz.
Cihazınızda adb hata ayıklama özelliğini etkinleştirme
adb'yi USB üzerinden bağlı bir cihazda kullanmak için cihaz sistem ayarlarındaki Geliştirici seçenekleri bölümünde USB üzerinden hata ayıklama'yı etkinleştirmeniz gerekir. Android 4.2 (API düzeyi 17) ve sonraki sürümlerde Geliştirici seçenekleri ekranı varsayılan olarak gizlidir. Bu seçeneği görünür hale getirmek için Geliştirici seçeneklerini etkinleştirin.
Artık cihazınızı USB ile bağlayabilirsiniz. android_sdk/platform-tools/
dizininden adb devices
komutunu yürüterek cihazınızın bağlı olduğunu doğrulayabilirsiniz. Bağlıysa cihaz adını "cihaz" olarak görürsünüz.
Not: Android 4.2.2 (API düzeyi 17) veya sonraki bir sürümü çalıştıran bir cihaz bağladığınızda sistem, bu bilgisayar üzerinden hata ayıklama yapılmasına olanak tanıyan bir RSA anahtarının kabul edilip edilmeyeceğini soran bir iletişim kutusu gösterir. Bu güvenlik mekanizması, cihazın kilidini açamadığınız ve iletişim kutusunu onaylamadığınız sürece USB hata ayıklama ve diğer adb komutlarının yürütülememesini sağlayarak kullanıcı cihazlarını korur.
USB üzerinden bir cihaza bağlanma hakkında daha fazla bilgi edinmek için Uygulamaları donanım cihazında çalıştırma başlıklı makaleyi inceleyin.
Kablosuz ağ üzerinden bir cihaza bağlanma
Not: Aşağıdaki talimatlar, Android 11 (API düzeyi 30) çalıştıran Wear cihazları için geçerli değildir. Daha fazla bilgi için Wear OS uygulamasında hata ayıklama kılavuzuna bakın.
Android 11 (API düzeyi 30) ve sonraki sürümler, Android Debug Bridge (adb) kullanarak uygulamanızı iş istasyonunuzdan kablosuz olarak dağıtmayı ve uygulamanızda hata ayıklamayı destekler. Örneğin, hata ayıklama yapılabilir uygulamanızı USB üzerinden fiziksel olarak bağlamanıza gerek kalmadan birden fazla uzak cihaza dağıtabilirsiniz. Bu sayede sürücü yükleme gibi yaygın USB bağlantısı sorunlarını çözmeniz gerekmez.
Kablosuz hata ayıklamayı kullanmaya başlamadan önce şunları yapın:
-
İş istasyonunuzun ve cihazınızın aynı kablosuz ağa bağlı olduğundan emin olun.
-
Cihazınızda telefon için Android 11 (API düzeyi 30) veya sonraki bir sürümün, TV ve WearOS için ise Android 13 (API düzeyi 33) veya sonraki bir sürümün yüklü olduğundan emin olun. Daha fazla bilgi için Android sürümünüzü kontrol etme ve güncelleme başlıklı makaleyi inceleyin.
-
IDE kullanıyorsanız Android Studio'nun en son sürümünün yüklü olduğundan emin olun. Buradan indirebilirsiniz.
-
İş istasyonunuzda SDK Platform Araçları'nı en son sürüme güncelleyin.
Kablosuz hata ayıklama özelliğini kullanmak için cihazınızı bir QR kodu veya eşleme kodu kullanarak iş istasyonunuzla eşlemeniz gerekir. İş istasyonunuz ve cihazınız aynı kablosuz ağa bağlı olmalıdır. Cihazınıza bağlanmak için aşağıdaki adımları uygulayın:
-
Cihazınızda geliştirici seçeneklerini etkinleştirin.
-
Android Studio'yu açın ve çalıştırma yapılandırmaları menüsünden Kablosuz
Şekil 1. Yapılandırmaları çalıştır menüsü.Şekil 2'de gösterildiği gibi Kablosuz ağ üzerinden cihaz eşleme penceresi açılır.
Şekil 2. QR kodu veya eşleme kodunu kullanarak cihazları eşlemek için pop-up pencere. -
Cihazınızda Kablosuz hata ayıklama'ya dokunup cihazınızı eşleyin:
Şekil 3. Google Pixel telefondaki Kablosuz hata ayıklama ayarının ekran görüntüsü.-
Cihazınızı QR koduyla eşlemek için Cihazı QR koduyla eşle'yi seçin ve Şekil 2'de gösterilen Cihazları kablosuz ağ üzerinden eşle pop-up'ından alınan QR kodunu tarayın.
-
Cihazınızı eşleme koduyla eşlemek için Kablosuz ağ üzerinden cihaz eşle pop-up'ında Eşleme kodu ile cihaz eşle'yi seçin. Cihazınızda Eşleme kodunu kullanarak eşle'yi seçin ve gösterilen altı basamaklı kodu not edin. Cihazınız Kablosuz ağ üzerinden cihaz eşleme penceresinde göründüğünde Eşle'yi seçip cihazınızda gösterilen altı haneli kodu girebilirsiniz.
Şekil 4. Altı basamaklı kod girişi örneği.
-
-
Cihazınız eşlendikten sonra uygulamanızı cihazınıza dağıtmayı deneyebilirsiniz.
Farklı bir cihazı eşlemek veya iş istasyonunuzdaki mevcut cihazı unutmak için cihazınızda Kablosuz hata ayıklama'ya gidin. Eşlenen cihazlar bölümünde iş istasyonunuzun adına dokunup Unut'u seçin.
-
Kablosuz hata ayıklamayı hızlıca açıp kapatmak istiyorsanız Geliştirici Seçenekleri > Hızlı ayarlar geliştirici kutuları bölümündeki Kablosuz hata ayıklama için Hızlı ayarlar geliştirici kutularını kullanabilirsiniz.
Şekil 5. Hızlı ayarlar geliştirici kutuları ayarı, kablosuz hata ayıklama özelliğini hızlı bir şekilde etkinleştirmenize ve devre dışı bırakmanıza olanak tanır.
Komut satırını kullanarak kablosuz bağlantı
Alternatif olarak, Android Studio olmadan komut satırı kullanarak cihazınıza bağlanmak için aşağıdaki adımları uygulayın:
-
Daha önce açıklandığı şekilde cihazınızda geliştirici seçeneklerini etkinleştirin.
-
Daha önce açıklandığı gibi cihazınızda Kablosuz hata ayıklama'yı etkinleştirin.
-
İş istasyonunuzda bir terminal penceresi açın ve
android_sdk/platform-tools
'ye gidin. -
Cihazı eşleme kodu ile eşle'yi seçerek IP adresinizi, bağlantı noktası numaranızı ve eşleme kodunuzu bulun. Cihazda gösterilen IP adresini, bağlantı noktası numarasını ve eşleme kodunu not edin.
-
İş istasyonunuzun terminalinde
adb pair ipaddr:port
komutunu çalıştırın. Yukarıdaki IP adresini ve bağlantı noktası numarasını kullanın. -
İstendiğinde aşağıdaki gibi eşleme kodunu girin.
Şekil 6. Cihazınızın başarıyla eşlendiğini belirten bir mesaj gösterilir.
Kablosuz bağlantı sorunlarını çözme
Cihazınıza kablosuz olarak bağlanırken sorun yaşıyorsanız sorunu çözmek için aşağıdaki sorun giderme adımlarını deneyin.
İş istasyonunuzun ve cihazınızın ön koşulları karşılayıp karşılamadığını kontrol edin
İş istasyonunun ve cihazın bu bölümün başında listelenen ön koşulları karşılayıp karşılamadığını kontrol edin.
Bilinen diğer sorunları kontrol etme
Aşağıda, kablosuz hata ayıklamayla (adb veya Android Studio ile) ilgili bilinen sorunların listesi ve bunların nasıl çözüleceği verilmiştir:
-
Kablosuz ağ bağlanmıyor: Kurumsal kablosuz ağlar gibi güvenli kablosuz ağlar, p2p bağlantılarını engelleyebilir ve kablosuz ağ üzerinden bağlanmanıza izin vermeyebilir. Kabloyla veya başka bir (kurumsal olmayan) kablosuz ağa bağlanmayı deneyin. Şirket dışı bir ağa başvurma seçeneğiniz varsa tcp/ip üzerinden
adb connect ip:port
kullanan kablosuz bağlantı (ilk USB bağlantısından sonra) da bir seçenektir. -
Kablosuz bağlantı üzerinden
adb
bazen otomatik olarak kapanır: Bu durum, cihaz kablosuz ağ değiştirirse veya ağ bağlantısı kesilirse ortaya çıkabilir. Sorunu çözmek için ağa yeniden bağlanın. -
Cihaz, eşleme başarılı olduktan sonra bağlanmıyor:
adb
, eşlenen cihazları bulup otomatik olarak bağlanmak için mDNS'den yararlanır. Ağ veya cihaz yapılandırmanız mDNS'yi desteklemiyorsa ya da devre dışı bıraktıysaadb connect ip:port
kullanarak cihaza manuel olarak bağlanmanız gerekir.
İlk USB bağlantısından sonra cihaza kablosuz olarak bağlanma (yalnızca Android 10 ve önceki sürümlerde kullanılabilir)
Not: Bu iş akışı Android 11 (ve sonraki sürümler) için de geçerlidir. Bununla birlikte, fiziksel USB üzerinden *ilk* bağlantı da gereklidir.
Not: Aşağıdaki talimatlar, Android 10 (API düzeyi 29) veya daha eski sürümleri çalıştıran Wear cihazları için geçerli değildir. Daha fazla bilgi için Wear OS uygulamasında hata ayıklama ile ilgili kılavuzu inceleyin.
adb
genellikle cihazla USB üzerinden iletişim kurar ancak adb
'ü kablosuz ağ üzerinden de kullanabilirsiniz. Android 10 (API düzeyi 29) veya daha eski sürümlerin yüklü olduğu bir cihazı bağlamak için USB üzerinden aşağıdaki ilk adımları uygulayın:
-
Android cihazınızı ve
adb
ana bilgisayarınızı ortak bir kablosuz ağa bağlayın. - Cihazı USB kablosuyla ana bilgisayara bağlayın.
-
Hedef cihazı, 5555 numaralı bağlantı noktasında TCP/IP bağlantısı dinleyecek şekilde ayarlayın:
adb tcpip 5555
- USB kablosunu hedef cihazdan çıkarın.
- Android cihazın IP adresini bulun. Örneğin, Nexus cihazlarda IP adresini Ayarlar > Tablet hakkında (veya Telefon hakkında) > Durum > IP adresi bölümünde bulabilirsiniz.
-
Cihazın IP adresine göre bağlanın:
adb connect device_ip_address:5555
-
Ana bilgisayarınızın hedef cihaza bağlı olduğunu onaylayın:
$ adb devices List of devices attached device_ip_address:5555 device
Not: Tüm erişim noktalarının uygun olmadığını unutmayın. Güvenlik duvarı adb
'ü desteklemek için doğru şekilde yapılandırılmış bir erişim noktası kullanmanız gerekebilir.
Cihazınız adb
'e bağlandı.
Cihazınızla adb
bağlantısı kesilirse:
- Barındırma cihazınızın Android cihazınızla aynı kablosuz ağa bağlı olduğundan emin olun.
-
adb connect
adımını tekrar uygulayarak yeniden bağlanın. -
Bu yöntem işe yaramazsa
adb
ana makinenizi sıfırlayın:adb kill-server
Ardından baştan başlayın.
Cihaz sorgulaması
adb
komutları vermeden önce, adb
sunucusuna hangi cihaz örneklerinin bağlı olduğunu bilmek faydalıdır. devices
komutunu kullanarak bağlı cihazların listesini oluşturun:
adb devices -l
adb
, yanıt olarak her cihaz için şu durum bilgilerini yazdırır:
- Seri numarası:
adb
, cihazı bağlantı noktası numarasına göre benzersiz şekilde tanımlamak için bir dize oluşturur. Örnek bir seri numarası:emulator-5554
- Durum: Cihazın bağlantı durumu aşağıdakilerden biri olabilir:
offline
: Cihazadb
'a bağlı değil veya yanıt vermiyor.device
: Cihaz,adb
sunucusuna bağlıdır. Cihaz, sistem henüz başlatılırkenadb
'e bağlandığından bu durumun Android sisteminin tamamen başlatılıp çalışmaya başladığı anlamına gelmediğini unutmayın. Bu, cihazın önyükleme işleminden sonraki normal çalışma durumudur.no device
: Bağlı cihaz yok.
- Açıklama:
-l
seçeneğini eklersenizdevices
komutu size cihazın ne olduğunu söyler. Bu bilgi, bağlı birden fazla cihazınız olduğunda onları birbirinden ayırt etmenize yardımcı olur.
Aşağıdaki örnekte devices
komutu ve çıktısı gösterilmektedir. Üç cihaz çalışıyor. Listedeki ilk iki satır emülatör, üçüncü satır ise bilgisayara bağlı bir donanım cihazıdır.
$ adb devices List of devices attached emulator-5556 device product:sdk_google_phone_x86_64 model:Android_SDK_built_for_x86_64 device:generic_x86_64 emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x86 0a388e93 device usb:1-1 product:razor model:Nexus_7 device:flo
Emülatör listede yok
adb devices
komutunda, masaüstünüzde görünen öykünücülerin adb devices
çıkışında görünmemesine neden olan bir özel durum komut dizisi vardır. Bu durum aşağıdaki koşulların tümü doğru olduğunda gerçekleşir:
adb
sunucusu çalışmıyor.emulator
komutunu-port
veya-ports
seçeneğiyle birlikte 5554 ile 5584 arasında tek sayılı bir bağlantı noktası değeriyle kullanırsınız.- Seçtiğiniz tek sayılı bağlantı noktası meşgul olmadığından bağlantı noktası bağlantısı, belirtilen bağlantı noktası numarasında yapılabilir. Meşgulse emülatör, 2. adımdaki koşulları karşılayan başka bir bağlantı noktasına geçer.
- Emülatörden sonra
adb
sunucusunu başlatırsınız.
Bu durumu önlemenin bir yolu, emülatörlerin kendi bağlantı noktalarını seçmesine izin vermek ve aynı anda en fazla 16 emülatör çalıştırmaktır. Diğer bir yöntem de aşağıdaki örneklerde açıklandığı gibi, emulator
komutunu kullanmadan önce her zaman adb
sunucusunu başlatmaktır.
1. Örnek: Aşağıdaki komut dizisinde adb devices
komutu adb
sunucusunu başlatır ancak cihaz listesi görünmez.
adb
sunucusunu durdurun ve gösterilen sırayla aşağıdaki komutları girin. AVD adı için sisteminizdeki geçerli bir AVD adı girin. AVD adlarının listesini almak için emulator -list-avds
yazın. emulator
komutu android_sdk/tools
dizinindedir.
$ adb kill-server $ emulator -avd Nexus_6_API_25 -port 5555 $ adb devices List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully *
2. Örnek: Aşağıdaki komut dizisinde, adb
sunucusu önce başlatıldığı için adb devices
cihaz listesini gösterir.
adb devices
çıkışında emülatör görmek için adb
sunucusunu durdurun ve emulator
komutunu kullandıktan sonra, adb devices
komutunu kullanmadan önce aşağıdaki gibi tekrar başlatın:
$ adb kill-server $ emulator -avd Nexus_6_API_25 -port 5557 $ adb start-server $ adb devices List of devices attached emulator-5557 device
Emülatör komut satırı seçenekleri hakkında daha fazla bilgi için Komut satırı başlangıç seçenekleri başlıklı makaleyi inceleyin.
Belirli bir cihaza komut gönderme
Birden fazla cihaz çalışıyorsa adb
komutunu verirken hedef cihazı belirtmeniz gerekir.
Hedefi belirtmek için aşağıdaki adımları uygulayın:
- Hedefin seri numarasını almak için
devices
komutunu kullanın. - Seri numarasını öğrendikten sonra seri numarasını belirtmek için
adb
komutlarıyla birlikte-s
seçeneğini kullanın.- Çok sayıda
adb
komutu gönderecekseniz$ANDROID_SERIAL
ortam değişkenini seri numarasını içerecek şekilde ayarlayabilirsiniz. - Hem
-s
hem de$ANDROID_SERIAL
kullanırsanız-s
,$ANDROID_SERIAL
'u geçersiz kılar.
- Çok sayıda
Aşağıdaki örnekte, bağlı cihazların listesi elde edilir ve ardından helloWorld.apk
'ü ilgili cihaza yüklemek için cihazlardan birinin seri numarası kullanılır:
$ adb devices List of devices attached emulator-5554 device emulator-5555 device 0.0.0.0:6520 device # To install on emulator-5555 $ adb -s emulator-5555 install helloWorld.apk # To install on 0.0.0.0:6520 $ adb -s 0.0.0.0:6520 install helloWorld.apk
Not: Birden fazla cihaz mevcutken hedef cihaz belirtmeden bir komut gönderirseniz adb
"adb: more than one device/emulator" (adb: birden fazla cihaz/emülatör) hatası gösterir.
Birden fazla cihazınız varsa ancak yalnızca biri emülatörse emülatöre komut göndermek için -e
seçeneğini kullanın. Birden fazla cihaz varsa ancak yalnızca bir donanım cihazı bağlıysa donanım cihazına komut göndermek için -d
seçeneğini kullanın.
Uygulama yükleme
Bir APK'yı emülatöre veya bağlı cihaza yüklemek için install
komutunu kullanarak adb
'i kullanabilirsiniz:
adb install path_to_apk
Test APK'sı yüklerken install
komutuyla birlikte -t
seçeneğini kullanmanız gerekir. Daha fazla bilgi için -t
başlıklı makaleyi inceleyin.
Birden fazla APK yüklemek için install-multiple
simgesini kullanın. Bu özellik, uygulamanız için belirli bir cihaza ait tüm APK'ları Play Console'dan indirip bir emülatöre veya fiziksel cihaza yüklemek istediğinizde kullanışlıdır.
Bir emülatöre/cihaz örneğine yükleyebileceğiniz APK dosyası oluşturma hakkında daha fazla bilgi için Uygulamanızı derleme ve çalıştırma başlıklı makaleyi inceleyin.
Not: Android Studio kullanıyorsanız uygulamanızı doğrudan adb
kullanarak emülatöre veya cihaza yüklemeniz gerekmez. Bunun yerine, Android Studio uygulamanın paketlenmesi ve yüklenmesini sizin adınıza yapar.
Bağlantı noktası yönlendirmeyi kur
Belirli bir ana makine bağlantı noktasındaki istekleri cihazdaki farklı bir bağlantı noktasına yönlendiren rastgele bağlantı noktası yönlendirmeyi ayarlamak için forward
komutunu kullanın.
Aşağıdaki örnekte, 6100 ana makine bağlantı noktasının 7100 cihaz bağlantı noktasına yönlendirmesi ayarlanmaktadır:
adb forward tcp:6100 tcp:7100
Aşağıdaki örnekte, ana makine bağlantı noktası 6100'ün yerel:logd adresine yönlendirilmesi ayarlanmaktadır:
adb forward tcp:6100 local:logd
Bu, cihazdaki belirli bir bağlantı noktasına ne gönderildiğini belirlemeye çalışıyorsanız faydalı olabilir. Alınan tüm veriler sistem günlük kaydı hizmetine yazılır ve cihaz günlüklerinde gösterilir.
Dosyaları bir cihaza ve cihazdan kopyalama
Dosyaları bir cihaza kopyalamak veya bir cihazdan kopyalamak için pull
ve push
komutlarını kullanın. Yalnızca bir APK dosyasını belirli bir konuma kopyalayan install
komutunun aksine pull
ve push
komutları, istediğiniz dizinleri ve dosyaları cihazdaki herhangi bir konuma kopyalamanıza olanak tanır.
Bir dosyayı veya dizini ve alt dizinlerini cihazdan kopyalamak için aşağıdakileri yapın:
adb pull remote local
Bir dosyayı veya dizini ve alt dizinlerini cihaza kopyalamak için aşağıdakileri yapın:
adb push local remote
local
ve remote
değerlerini, geliştirme makinenizdeki (yerel) ve cihazdaki (uzak) hedef dosyaların/dizinlerin yollarıyla değiştirin. Örnek:
adb push myfile.txt /sdcard/myfile.txt
adb sunucusunu durdurma
Bazı durumlarda, sorunu çözmek için adb
sunucu sürecini sonlandırıp yeniden başlatmanız gerekebilir. Örneğin, adb
bir komuta yanıt vermezse bu durumla karşılaşabilirsiniz.
adb
sunucusunu durdurmak için adb kill-server
komutunu kullanın.
Ardından, başka bir adb
komutu göndererek sunucuyu yeniden başlatabilirsiniz.
adb komutları verme
Geliştirme makinenizdeki bir komut satırından veya aşağıdakileri kullanarak bir komut dosyasından adb
komutları gönderin:
adb [-d | -e | -s serial_number] command
Yalnızca bir emülatör çalışıyorsa veya yalnızca bir cihaz bağlıysa adb
komutu varsayılan olarak bu cihaza gönderilir. Birden fazla emülatör çalışıyorsa ve/veya birden fazla cihaz bağlıysa komutun yönlendirileceği hedef cihazı belirtmek için -d
, -e
veya -s
seçeneğini kullanmanız gerekir.
Aşağıdaki komutu kullanarak desteklenen tüm adb
komutlarının ayrıntılı listesini görebilirsiniz:
adb --help
Kabuk komutları verme
adb
üzerinden cihaz komutları vermek veya etkileşimli bir kabuk başlatmak için shell
komutunu kullanabilirsiniz. Tek bir komut vermek için shell
komutunu şu şekilde kullanın:
adb [-d |-e | -s serial_number] shell shell_command
Bir cihazda etkileşimli kabuk başlatmak için shell
komutunu aşağıdaki gibi kullanın:
adb [-d | -e | -s serial_number] shell
Etkileşimli kabuktan çıkmak için Control+D
tuşuna basın veya exit
yazın.
Android, yaygın Unix komut satırı araçlarının çoğunu sağlar. Kullanılabilir araçların listesi için aşağıdaki komutu kullanın:
adb shell ls /system/bin
Komutların çoğu için --help
bağımsız değişkeni aracılığıyla yardım alabilirsiniz.
Kabuk komutlarının çoğu toybox tarafından sağlanır.
Tüm oyuncak kutusu komutları için geçerli olan genel yardıma toybox --help
adresinden ulaşabilirsiniz.
Android Platform Tools 23 ve sonraki sürümlerde adb
, bağımsız değişkenleri ssh(1)
komutuyla aynı şekilde işler. Bu değişiklik, komut ekleme ile ilgili birçok sorunu giderdi ve adb install Let\'sGo.apk
gibi kabuk meta karakterleri içeren komutların güvenli bir şekilde yürütülmesini sağladı. Bu değişiklik, kabuk meta karakterleri içeren tüm komutların yorumlanmasının da değiştiği anlamına gelir.
Örneğin, tırnak işaretleri yerel kabuk tarafından atlandığından ve cihaz adb shell setprop key two words
değerini gördüğünden adb shell setprop key 'two words'
artık hata olarak değerlendirilir. Komutun çalışması için ssh(1)
ile yaptığınız gibi, yerel kabuk için bir kez, uzak kabuk için bir kez olmak üzere iki kez tırnak içine alın. Örneğin, yerel kabuk dış tırnak işareti düzeyini aldığı ve cihaz yine de iç tırnak işareti düzeyini gördüğü için adb shell setprop key "'two words'"
çalışır: setprop key 'two words'
. Kaçış karakteri kullanmak da bir seçenektir ancak genellikle iki kez tırnak içine almak daha kolaydır.
Sistem günlüğünü izlemek için kullanışlı olan Logcat komut satırı aracına da göz atın.
Arama etkinliği yöneticisi
adb
kabuğunda, etkinlik yöneticisi (am
) aracıyla çeşitli sistem işlemleri (ör. etkinlik başlatma, bir işlemi zorla durdurma, intent yayınlama, cihaz ekranı özelliklerini değiştirme) yapmak için komutlar verebilirsiniz.
Kabuktayken am
söz dizimi şu şekildedir:
am command
Ayrıca, uzak kabuğa girmeden doğrudan adb
etkinlik yöneticisi komutu da verebilirsiniz. Örnek:
adb shell am start -a android.intent.action.VIEW
Tablo 1. Kullanılabilen etkinlik yöneticisi komutları
Komut | Açıklama |
---|---|
start [options] intent
|
intent tarafından belirtilen bir Activity başlatın. Intent bağımsız değişkenleri spesifikasyonu'na bakın. Seçenekler şunlardır:
|
startservice [options] intent
|
intent tarafından belirtilen Service 'ü başlatın. Intent bağımsız değişkenleri spesifikasyonu'na bakın. Seçenekler şunlardır:
|
force-stop package
|
package ile ilişkili her şeyi zorla durdurun.
|
kill [options] package
|
package ile ilişkili tüm işlemleri sonlandırın. Bu komut yalnızca kapatılması güvenli olan ve kullanıcı deneyimini etkilemeyecek işlemleri kapatır.
Seçenekler şunlardır:
|
kill-all
|
Tüm arka plan işlemlerini sonlandırın. |
broadcast [options] intent
|
Yayın intent'i gönderin. Intent bağımsız değişkenleri spesifikasyonu'na bakın. Seçenekler şunlardır:
|
instrument [options] component
|
Instrumentation örneğiyle izlemeye başlayın.
Genellikle component hedefi, test_package/runner_class formudur. Seçenekler şunlardır:
|
profile start process file
|
Profil aracını process 'te başlatın, sonuçları file 'a yazın.
|
profile stop process
|
Profil oluşturucuyu process 'te durdurun.
|
dumpheap [options] process file
|
process yığınını dök, file 'a yaz. Seçenekler şunlardır:
|
set-debug-app [options] package
|
package uygulamasını hata ayıklama moduna ayarlayın. Seçenekler şunlardır:
|
clear-debug-app
|
Hata ayıklama için daha önce ayarlanan paketi set-debug-app ile temizleyin.
|
monitor [options]
|
Kilitlenme veya ANR izlemeye başlayın. Seçenekler şunlardır:
|
screen-compat {on | off} package
|
package 'nin ekran uyumluluğu modunu kontrol edin.
|
display-size [reset | widthxheight]
|
Cihazın görüntü boyutunu geçersiz kılabilirsiniz.
Bu komut, büyük ekranlı bir cihaz kullanarak küçük ekran çözünürlüğünü taklit ederek veya tam tersini yaparak uygulamanızı farklı ekran boyutlarında test etmek için yararlıdır.
Örnek: |
display-density dpi
|
Cihazın görüntü yoğunluğunu geçersiz kılabilirsiniz.
Bu komut, düşük yoğunluklu bir ekran kullanarak yüksek yoğunluklu ekran ortamını taklit ederek ve bunun tam tersini yaparak uygulamanızı farklı ekran yoğunluklarında test etmek için yararlıdır.
Örnek: |
to-uri intent
|
Belirtilen intent spesifikasyonunu URI olarak yazdırın. |
to-intent-uri intent
|
Belirtilen intent spesifikasyonunu intent: URI'si olarak yazdırın. |
Intent bağımsız değişkenleri için spesifikasyon
intent
bağımsız değişkeni alan etkinlik yöneticisi komutları için aşağıdaki seçeneklerle amacı belirtebilirsiniz:
Paket yöneticisini arayın (pm
)
adb
kabuğunda, paket yöneticisi (pm
) aracıyla komutlar vererek cihaza yüklenen uygulama paketlerinde işlemler ve sorgular yapabilirsiniz.
Kabuktayken pm
söz dizimi şu şekildedir:
pm command
Ayrıca, uzak kabuğa girmeden doğrudan adb
paket yöneticisi komutu da verebilirsiniz. Örnek:
adb shell pm uninstall com.example.MyApp
Tablo 2. Kullanılabilen paket yöneticisi komutları
Komut | Açıklama |
---|---|
list packages [options] filter
|
Tüm paketleri (isteğe bağlı olarak yalnızca paket adında filter metnini içerenler) yazdırın. Seçenekler:
|
list permission-groups
|
Bilinen tüm izin gruplarını yazdırın. |
list permissions [options] group
|
Bilinen tüm izinleri (isteğe bağlı olarak yalnızca group içindekileri) yazdırın. Seçenekler:
|
list instrumentation [options]
|
Tüm test paketlerini listeleyin. Seçenekler:
|
list features
|
Sistemin tüm özelliklerini yazdırın. |
list libraries
|
Mevcut cihaz tarafından desteklenen tüm kitaplıkları yazdırın. |
list users
|
Sistemdeki tüm kullanıcıları yazdırın. |
path package
|
Belirtilen package 'nin APK'sının yolunu yazdırın.
|
install [options] path
|
path ile belirtilen bir paketi sisteme yükleyin. Seçenekler:
|
uninstall [options] package
|
Bir paketi sistemden kaldırır. Seçenekler:
|
clear package
|
Bir paketle ilişkili tüm verileri silin. |
enable package_or_component
|
Belirtilen paketi veya bileşeni etkinleştirin ("package/class" olarak yazılır). |
disable package_or_component
|
Belirtilen paketi veya bileşeni devre dışı bırakın ("package/class" olarak yazılır). |
disable-user [options] package_or_component
|
Seçenekler:
|
grant package_name permission
|
Bir uygulamaya izin verin. Android 6.0 (API seviyesi 23) ve sonraki sürümleri çalıştıran cihazlarda izin, uygulama manifest dosyasında tanımlanan herhangi bir izin olabilir. Android 5.1 (API düzeyi 22) ve önceki sürümleri çalıştıran cihazlarda, uygulama tarafından tanımlanan isteğe bağlı bir izin olmalıdır. |
revoke package_name permission
|
Bir uygulamanın iznini iptal etme. Android 6.0 (API seviyesi 23) ve sonraki sürümleri çalıştıran cihazlarda, uygulama manifest dosyasında tanımlanan herhangi bir izin iptal edilebilir. Android 5.1 (API düzeyi 22) ve önceki sürümleri çalıştıran cihazlarda, uygulama tarafından tanımlanan isteğe bağlı bir izin olmalıdır. |
set-install-location location
|
Varsayılan yükleme konumunu değiştirebilirsiniz. Konum değerleri:
Not: Bu işlem yalnızca hata ayıklama amacıyla yapılır. Bu iznin kullanılması, uygulamaların bozulmasına ve istenmeyen diğer davranışlara neden olabilir. |
get-install-location
|
Mevcut yükleme konumunu döndürür. Döndürülen değerler:
|
set-permission-enforced permission [true | false]
|
Belirtilen iznin zorunlu kılınıp kılınmayacağını belirtin. |
trim-caches desired_free_space
|
Belirtilen boş alana ulaşmak için önbellek dosyalarını kısaltın. |
create-user user_name
|
Belirtilen user_name ile yeni bir kullanıcı oluşturun, kullanıcının yeni kullanıcı tanımlayıcısını yazdırın.
|
remove-user user_id
|
Belirtilen user_id ile kullanıcıyı kaldırın ve bu kullanıcıyla ilişkili tüm verileri silin
|
get-max-users
|
Cihaz tarafından desteklenen maksimum kullanıcı sayısını yazdırın. |
get-app-links [options] [package]
|
Belirtilen package için alan doğrulama durumunu veya belirtilmemişse tüm paketler için durumu yazdırır. Eyalet kodları aşağıdaki şekilde tanımlanır:
Seçenekler şunlardır:
|
reset-app-links [options] [package]
|
Belirtilen paketin veya belirtilmemişse tüm paketlerin alan doğrulama durumunu sıfırlayın.
Seçenekler şunlardır:
|
verify-app-links [--re-verify] [package]
|
Belirtilen package için veya belirtilmemişse tüm paketler için doğrulama isteği yayınlayın. Yalnızca paket daha önce yanıt kaydetmediyse gönderilir.
|
set-app-links [--package package] state domains
|
Bir paket için alanın durumunu manuel olarak ayarlama Bunun çalışması için alanın paket tarafından autoVerify olarak tanımlanması gerekir. Bu komut, uygulanamayan alanlar için hata bildirmez.
|
set-app-links-user-selection --user user_id [--package package]
enabled domains
|
Bir paket için ana makine kullanıcısı seçiminin durumunu manuel olarak ayarlama Bunun işe yaraması için alanın paket tarafından bildirilmesi gerekir. Bu komut, uygulanamayan alanlar için hata bildirmez.
|
set-app-links-user-selection --user user_id [--package package]
enabled domains
|
Bir paket için ana makine kullanıcısı seçiminin durumunu manuel olarak ayarlama Bunun işe yaraması için alanın paket tarafından bildirilmesi gerekir. Bu komut, uygulanamayan alanlar için hata bildirmez.
|
set-app-links-allowed --user user_id [--package package] allowed
|
Bir paket için otomatik olarak doğrulanmış bağlantı işleme ayarını açın/kapatın.
|
get-app-link-owners --user user_id [--package package] domains
|
Belirli bir kullanıcının belirli bir alan adının sahiplerini düşükten yükseğe öncelik sırasına göre yazdırın.
|
Cihaz politikası yöneticisini arayın (dpm
)
Cihaz yönetimi uygulamalarınızı geliştirmenize ve test etmenize yardımcı olması için cihaz politikası yöneticisi (dpm
) aracına komut verin. Etkin yönetici uygulamasını kontrol etmek veya cihazdaki bir politikanın durum verilerini değiştirmek için bu aracı kullanın.
Kabuktayken dpm
söz dizimi şu şekildedir:
dpm command
Uzaktan kabuğa girmeden doğrudan adb
cihaz politikası yöneticisi komutu da verebilirsiniz:
adb shell dpm command
Tablo 3. Kullanılabilir cihaz politikası yöneticisi komutları
Komut | Açıklama |
---|---|
set-active-admin [options] component
|
component dosyasını etkin yönetici olarak ayarlar.
Seçenekler şunlardır:
|
set-profile-owner [options] component
|
component'ü etkin yönetici, paketini ise mevcut bir kullanıcının profil sahibi olarak ayarlayın.
Seçenekler şunlardır:
|
set-device-owner [options] component
|
component'yi etkin yönetici, paketini de cihaz sahibi olarak ayarlayın.
Seçenekler şunlardır:
|
remove-active-admin [options] component
|
Etkin bir yöneticiyi devre dışı bırakma Uygulama, manifest dosyasında android:testOnly değerini belirtmelidir. Bu komut, cihaz ve profil sahiplerini de kaldırır.
Seçenekler şunlardır:
|
clear-freeze-period-record
|
Cihazın, sistem OTA güncellemeleri için daha önce ayarlanmış dondurma dönemlerine ait kaydını silin. Bu, dondurma dönemlerini yöneten uygulamalar geliştirirken cihaz planlama kısıtlamalarını önlemek için yararlıdır. Sistem güncellemelerini yönetme başlıklı makaleyi inceleyin.
Android 9.0 (API düzeyi 28) ve sonraki sürümleri çalıştıran cihazlarda desteklenir. |
force-network-logs
|
Sistemi, mevcut ağ günlüklerini bir DPC tarafından alınabilecek hale getirmeye zorlayın. Bağlantı veya DNS günlükleri varsa DPC, onNetworkLogsAvailable()
geri çağırma işlevini alır. Ağ etkinliği günlük kaydı başlıklı makaleyi inceleyin.
Bu komutun hızı sınırlıdır. Android 9.0 (API düzeyi 28) ve sonraki sürümleri çalıştıran cihazlarda desteklenir. |
force-security-logs
|
Sistemi, mevcut güvenlik günlüklerini DPC'ye sunmaya zorlama. Kullanılabilir günlükler varsa DPC, onSecurityLogsAvailable() geri çağırma işlevini alır. Kurumsal cihaz etkinliğini günlüğe kaydetme başlıklı makaleyi inceleyin.
Bu komutun hızı sınırlıdır. Android 9.0 (API düzeyi 28) ve sonraki sürümleri çalıştıran cihazlarda desteklenir. |
Ekran görüntüsü al
screencap
komutu, cihaz ekranının ekran görüntüsünü almak için kullanılan bir kabuk yardımcı programıdır.
Kabuktayken screencap
söz dizimi şu şekildedir:
screencap filename
screencap
'ü komut satırından kullanmak için aşağıdakileri girin:
adb shell screencap /sdcard/screen.png
Aşağıda, ekran görüntüsünü almak için adb
kabuğunu ve dosyayı cihazdan indirmek için pull
komutunu kullanan örnek bir ekran görüntüsü oturumu verilmiştir:
$ adb shell shell@ $ screencap /sdcard/screen.png shell@ $ exit $ adb pull /sdcard/screen.png
Video kaydet
screenrecord
komutu, Android 4.4 (API düzeyi 19) ve sonraki sürümleri çalıştıran cihazların ekranını kaydetmek için kullanılan bir kabuk yardımcı programıdır. Yardımcı program, ekran etkinliğini MPEG-4 dosyasına kaydeder. Tanıtım veya eğitim videoları oluşturmak ya da hata ayıklama ve test yapmak için bu dosyayı kullanabilirsiniz.
Kabukta aşağıdaki söz dizimini kullanın:
screenrecord [options] filename
screenrecord
'ü komut satırından kullanmak için aşağıdakileri girin:
adb shell screenrecord /sdcard/demo.mp4
Ctrl+C tuşlarına basarak ekran kaydını durdurun. Aksi takdirde kayıt, üç dakika veya --time-limit
tarafından belirlenen zaman sınırında otomatik olarak durur.
Cihazınızın ekranını kaydetmeye başlamak için screenrecord
komutunu çalıştırarak videoyu kaydedin. Ardından, videoyu cihazdan ana bilgisayara indirmek için pull
komutunu çalıştırın. Aşağıda bir kayıt oturumu örneği verilmiştir:
$ adb shell shell@ $ screenrecord --verbose /sdcard/demo.mp4 (press Control + C to stop) shell@ $ exit $ adb pull /sdcard/demo.mp4
screenrecord
yardımcı programı, cihaz ekranının en boy oranını korurken istediğiniz desteklenen çözünürlükte ve bit hızında kayıt yapabilir. Yardımcı program, varsayılan olarak doğal ekran çözünürlüğünde ve oryantasyonunda, maksimum üç dakikalık uzunlukta kayıt yapar.
screenrecord
yardımcı programının sınırlamaları:
- Ses, video dosyasıyla kaydedilmez.
- Video kaydı, Wear OS çalıştıran cihazlarda kullanılamaz.
- Bazı cihazlar, doğal ekran çözünürlüğünde kayıt yapamayabilir. Ekran kaydı ile ilgili sorun yaşarsanız daha düşük bir ekran çözünürlüğü kullanmayı deneyin.
- Kayıt sırasında ekranın döndürülmesi desteklenmez. Kayıt sırasında ekran dönüyorsa kayda ekranın bir kısmı dahil edilmez.
Tablo 4. screenrecord
seçenekleri
Seçenekler | Açıklama |
---|---|
--help
|
Komut söz dizimini ve seçeneklerini görüntüleme |
--size widthxheight
|
Video boyutunu ayarlayın: 1280x720 . Varsayılan değer, cihazın doğal ekran çözünürlüğüdür (destekleniyorsa). Desteklenmiyorsa 1280x720'dir. En iyi sonuçlar için cihazınızın Gelişmiş Video Kodlama (AVC) kodlayıcısı tarafından desteklenen bir boyut kullanın. |
--bit-rate rate |
Videonun bit hızını saniye başına megabit cinsinden ayarlayın. Varsayılan değer 20 Mb/sn'dir.
Video kalitesini artırmak için bit hızını artırabilirsiniz ancak bu işlem, film dosyalarının daha büyük olmasına neden olur. Aşağıdaki örnekte kayıt bit hızı 6 Mb/sn olarak ayarlanmıştır:
screenrecord --bit-rate 6000000 /sdcard/demo.mp4 |
--time-limit time |
Maksimum kayıt süresini saniye cinsinden ayarlayın. Varsayılan ve maksimum değer 180'dir (3 dakika). |
--rotate |
Çıktıyı 90 derece döndürün. Bu özellik deneyseldir. |
--verbose |
Komut satırı ekranında günlük bilgilerini görüntüleyin. Bu seçeneği ayarlamazsanız yardımcı program çalışırken herhangi bir bilgi göstermez. |
Uygulamalar için ART profillerini okuma
Android 7.0 (API düzeyi 24) sürümünden başlayarak Android Runtime (ART), yüklü uygulamaların yürütme profillerini toplar. Bu profiller, uygulama performansını optimize etmek için kullanılır. Hangi yöntemlerin sıklıkla yürütüldüğünü ve uygulamanın başlatılması sırasında hangi sınıfların kullanıldığını anlamak için toplanan profilleri inceleyin.
Not: Yürütme profili dosya adını yalnızca dosya sistemine kök erişiminiz varsa (ör. bir emülatörde) alabilirsiniz.
Profil bilgilerinin metin biçimini oluşturmak için aşağıdaki komutu kullanın:
adb shell cmd package dump-profiles package
Oluşturulan dosyayı almak için:
adb pull /data/misc/profman/package.prof.txt
Test cihazlarını sıfırlama
Uygulamanızı birden fazla test cihazında test ediyorsanız testler arasında cihazınızı sıfırlamak (ör. kullanıcı verilerini kaldırmak ve test ortamını sıfırlamak için) yararlı olabilir. Android 10 (API düzeyi 29) veya sonraki sürümleri çalıştıran bir test cihazını, aşağıdaki gibi testharness
adb
kabuk komutunu kullanarak fabrika ayarlarına sıfırlayabilirsiniz:
adb shell cmd testharness enable
Cihaz, testharness
kullanılarak geri yüklenirken mevcut iş istasyonu üzerinden hata ayıklama yapılmasına olanak tanıyan RSA anahtarını kalıcı bir konumda otomatik olarak yedeklemektedir. Yani, cihaz sıfırlandıktan sonra iş istasyonu, yeni bir anahtarı manuel olarak kaydetmeden hata ayıklama yapmaya ve cihaza adb
komutları göndermeye devam edebilir.
Ayrıca, uygulamanızı test etmeye devam etmeyi kolaylaştırmak ve daha güvenli hale getirmek için bir cihazı testharness
ile geri yüklediğinizde aşağıdaki cihaz ayarları da değiştirilir:
- Cihaz, ilk cihaz kurulum sihirbazlarının görünmemesi için belirli sistem ayarlarını yapar. Yani cihaz, uygulamanızı hızlıca yükleyebileceğiniz, hata ayıklayabileceğiniz ve test edebileceğiniz bir duruma girer.
- Ayarlar:
- Kilit ekranını devre dışı bırakır.
- Acil durum uyarılarını devre dışı bırakır.
- Hesaplar için otomatik senkronizasyonu devre dışı bırakır.
- Otomatik sistem güncellemelerini devre dışı bırakır.
- Diğer:
- Önceden yüklenmiş güvenlik uygulamalarını devre dışı bırakır.
Uygulamanızın testharness
komutunun varsayılan ayarlarını algılayıp bunlara uyum sağlaması gerekiyorsa
ActivityManager.isRunningInUserTestHarness()
seçeneğini kullanın.
sqlite
sqlite3
, SQLite veritabanlarını incelemek için sqlite
komut satırı programını başlatır.
Bir tablonun içeriğini yazdırmak için .dump
ve mevcut bir tablonun SQL CREATE
ifadesini yazdırmak için .schema
gibi komutlar içerir.
SQLite komutlarını komut satırından da yürütebilirsiniz.
$ adb -s emulator-5554 shell $ sqlite3 /data/data/com.example.app/databases/rssitems.db SQLite version 3.3.12 Enter ".help" for instructions
Not: SQLite veritabanına yalnızca dosya sistemine kök erişiminiz varsa (ör. bir emülatörde) erişebilirsiniz.
Daha fazla bilgi için sqlite3
komut satırı belgelerini inceleyin.
adb USB arka uçları
adb sunucusu, USB yığınıyla iki arka uç üzerinden etkileşim kurabilir. OS'nin yerel arka ucunu (Windows, Linux veya macOS) ya da libusb
arka ucunu kullanabilir.
attach
, detach
ve USB hızı algılama gibi bazı özellikler yalnızca libusb
arka uç kullanıldığında kullanılabilir.
ADB_LIBUSB
ortam değişkenini kullanarak bir arka uç seçebilirsiniz.
Ayarlanmazsa adb varsayılan arka ucunu kullanır. Varsayılan davranış, işletim sistemine göre değişir. ADB v34'ten itibaren, liubusb
arka ucu, varsayılan olarak yerel arka ucunun kullanıldığı Windows dışındaki tüm işletim sistemlerinde varsayılan olarak kullanılır. ADB_LIBUSB
ayarlanırsa yerel arka uç veya libusb
'un kullanılıp kullanılmayacağını belirler. adb ortam değişkenleri hakkında daha fazla bilgi için adb manuel sayfasına bakın.
adb mDNS arka uçları
ADB, sunucuyu ve cihazları otomatik olarak bağlamak için çoklu yayın DNS protokolünü kullanabilir. ADB sunucusu, Bonjour (Apple'ın mdnsResponder) ve Openscreen olmak üzere iki arka ucla birlikte gönderilir.
Bonjour arka ucunun, ana makinede çalışan bir daemon'a ihtiyacı vardır.
macOS'te Apple'ın yerleşik daemon'ı her zaman çalışır ancak Windows ve Linux'ta kullanıcının mdnsd
daemon'ının çalışır durumda olduğundan emin olması gerekir.
adb mdns check
komutu hata döndürüyorsa ADB'nin Bonjour arka ucunu kullandığı ancak Bonjour daemon'ının çalışmadığı muhtemeldir.
Openscreen arka ucunun makinede çalışan bir daemon'a ihtiyacı yoktur. macOS'te Openscreen arka ucu desteği, ADB 35 sürümünden itibaren sunulur. Windows ve Linux, ADB 34 sürümü itibarıyla desteklenmektedir.
ADB varsayılan olarak Bonjour arka ucunu kullanır. Bu davranış, ADB_MDNS_OPENSCREEN
ortam değişkeni kullanılarak değiştirilebilir (1
veya 0
olarak ayarlanır). Daha fazla bilgi için ADB manuel sayfasına bakın.
adb Burst Modu (ADB 36.0.0'dan itibaren)
Patlama Modu, ADB'nin cihaz önceki pakete yanıt vermeden önce bile cihaza paket göndermeye devam etmesini sağlayan deneysel bir özelliktir. Bu, büyük dosyaları aktarırken ADB'nin veri aktarım hızını önemli ölçüde artırır ve hata ayıklama sırasında gecikmeyi azaltır.
Seri Çekim Modu varsayılan olarak devre dışıdır. Özelliği etkinleştirmek için aşağıdakilerden birini yapın:
ADB_DELAYED_ACK
ortam değişkenini1
olarak ayarlayın.- Android Studio'da Dosya (veya macOS'te Android Studio) > Ayarlar > Derleme, Yürütme, Dağıtım > Hata Ayıklama Aracı'na gidin ve ADB Sunucusu Patlama Modu'nu Etkin olarak ayarlayın.