Uygulamaları donanım cihazında çalıştırma

Android uygulamanızı kullanıcılara yayınlamadan önce her zaman gerçek bir cihazda test edin. Bu sayfada, Android Debug Bridge (ADB) bağlantısı üzerinden test ve hata ayıklama için geliştirme ortamınızı ve Android destekli cihazınızı nasıl ayarlayacağınız açıklanmaktadır.

Geliştirme için cihaz kurma

Cihazınızda hata ayıklamaya başlamadan önce cihaza USB kablosuyla mı yoksa kablosuz ağ üzerinden mi bağlanmak istediğinize karar verin. Ardından şunları yapın:

  1. Cihazda Ayarlar uygulamasını açın, Geliştirici seçenekleri'ni belirleyin ve ardından USB üzerinden hata ayıklama'yı etkinleştirin (varsa).

  2. Sisteminizi cihazınızı algılayacak şekilde ayarlayın.

    • ChromeOS: Ek yapılandırma gerekmez.
    • macOS: Ek yapılandırma gerekmez.
    • Windows: ADB için bir USB sürücüsü yükleyin (varsa). Kurulum kılavuzu ve OEM sürücülerinin bağlantıları için OEM USB sürücülerini yükleme başlıklı makaleyi inceleyin.
    • Ubuntu Linux: Aşağıdakileri ayarlayın:

      • ADB'yi kullanmak isteyen her kullanıcının plugdev grubunda olması gerekir. plugdev grubunda olmadığınızı belirten bir hata mesajı görürseniz aşağıdaki komutu kullanarak kendinizi gruba ekleyin:
      sudo usermod -aG plugdev $LOGNAME
      

      Gruplar yalnızca giriş yapıldığında güncellenir. Bu nedenle, değişikliğin geçerli olması için çıkış yapmanız gerekir. Tekrar giriş yaptığınızda plugdev grubunda olduğunuzu kontrol etmek için id komutunu kullanabilirsiniz.

      • Sistemde cihazı kapsayan udev kurallarının yüklü olması gerekir. android-sdk-platform-tools-common paketi, Android cihazlar için topluluk tarafından yönetilen varsayılan bir udev kural grubu içerir. Yüklemek için aşağıdaki komutu kullanın:
      apt-get install android-sdk-platform-tools-common
      

USB kullanarak cihazınıza bağlanma

Kurulumu tamamlayıp USB üzerinden bağladıktan sonra Android Studio'da Çalıştır'ı tıklayarak cihazda uygulamanızı derleyip çalıştırın.

Komut vermek için adb aracını da kullanabilirsiniz:

  • android_sdk/platform-tools/ dizininizden adb devices komutunu çalıştırarak cihazınızın bağlı olduğunu doğrulayın. Bağlıysa cihazı listede görürsünüz.
  • Cihazınızı hedeflemek için -d işaretiyle herhangi bir adb komutu verin.

Kablosuz bağlantı kullanarak cihazınıza bağlanma

Android 11 ve sonraki sürümler, Android Debug Bridge (ADB) kullanarak uygulamanızı iş istasyonunuzdan kablosuz olarak dağıtmayı ve hata ayıklamayı destekler. Örneğin, cihazınızı USB kullanarak fiziksel olarak bağlamadan ve sürücü yükleme gibi yaygın USB bağlantısı sorunlarıyla uğraşmadan hata ayıklanabilir uygulamanızı birden fazla uzak cihaza dağıtabilirsiniz.

Android 17, adb 37.0.0 ile birlikte, önceki sürümdeki kullanılabilirlik sorunlarının çoğunu çözen adb Wi-Fi 2.0'ı kullanıma sunuyor. Cihaz, kablosuz hata ayıklama için güvenilir bir ağa bağlandığında otomatik olarak iş istasyonuna bağlanır.

Kablosuz hata ayıklamayı kullanmak için eşleme kodu kullanarak cihazınızı iş istasyonunuzla eşlemeniz gerekir. Başlamak için aşağıdaki adımları uygulayın:

  1. İş istasyonunuzun ve cihazınızın aynı kablosuz ağa bağlı olduğundan emin olun.
  2. Cihazınızda Android 11 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.
  3. Android Studio'nun en yeni sürümünün yüklü olduğundan emin olun. Buradan indirebilirsiniz.
  4. İş istasyonunuzda SDK Platform Araçları'nı en yeni sürümüne güncelleyin.

Cihazınızla eşlemek için aşağıdaki adımları uygulayın:

  1. Cihazınızda geliştirici seçeneklerini etkinleştirin.
  2. Cihazınızda Kablosuz Hata Ayıklama'ya dokunun.

    Kablosuz hata ayıklama istemini gösteren Pixel telefon.
    Şekil 1. Google Pixel telefonda Kablosuz hata ayıklama istemi.

  3. Ağınızda kablosuz hata ayıklamaya izin verin. Bu ağda her zaman izin verilir onay kutusunu tıkladığınızda ağın güvenilir bir kablosuz hata ayıklama ağı haline geleceğini unutmayın. Cihazınız, ağa bağlandığı anda bu ağda kablosuz hata ayıklamaya her zaman izin verir.

    Kablosuz hata ayıklama sistem ayarının gösterildiği Pixel telefon.
    Şekil 2. Google Pixel telefondaki Kablosuz hata ayıklama ayarı.

  4. Android Studio'yu açın ve çalıştırma yapılandırmaları menüsünden Cihazları Kablosuz Bağlantı Kullanarak Eşle'yi seçin.

    Yapılandırmaları çalıştır açılır menüsü
    Şekil 3. Run configurations (Yapılandırmaları çalıştır) menüsünü açın.

  5. Şekil 4'te gösterildiği gibi Cihazları kablosuz ağ üzerinden eşle iletişim kutusu görünür.

    Cihazları kablosuz ağ üzerinden eşleme pop-up penceresi
    Şekil 4. Cihazları kablosuz ağ üzerinden eşleme iletişim kutusu.

    Alternatif olarak, cihazı Cihaz Yönetim Paneli'nden eşleyebilirsiniz. Örneğin, My Pixel.

    Kablosuz eşleme için kullanılabilir cihazın bulunduğu Cihaz Yönetim Paneli
    Şekil 5. Kablosuz eşleme için kullanılabilir cihazın bulunduğu Cihaz Yönetim Paneli.

  6. Eşlemek istediğiniz cihazda Pair simgesini tıklayın. Cihaz eşleştirme iletişim kutusu görünür.

    1. Cihazınızı QR koduyla eşlemek için Cihazı QR koduyla eşle'yi seçin ve QR kodunu tarayın.
      Cihazları kablosuz ağ üzerinden eşleme pop-up penceresi
      Şekil 6. QR kodu kullanarak cihaz eşleme iletişim kutusu.
    2. Cihazınızı eşleme koduyla eşlemek için Yeni cihazları kablosuz ağ üzerinden eşle iletişim kutusunda Cihazı eşleme koduyla eşle'yi seçin. Cihazınızda Eşleme kodu kullanarak eşle'yi seçin. Altı haneli bir kod görünür. Cihazınız Cihazları kablosuz ağ üzerinden eşle penceresinde göründüğünde cihazınızda gösterilen altı haneli kodu girip Eşle'yi seçin.
      Örnek eşleme kodu girişi
      Şekil 7. Altı haneli eşleme kodu girişi örneği.
  7. Eşleme işleminden sonra uygulamanızı cihazınıza dağıtmayı deneyebilirsiniz.

İş istasyonunuzun eşlemesini kaldırmak için cihazınızda Kablosuz hata ayıklama'ya gidin. Eşlenen cihazlar bölümünde çalışma istasyonunuzun adına dokunup Unut'u seçin. Alternatif olarak, cihazınızın Ayarlar sayfasında adb hata ayıklama yetkilendirmelerini iptal et'i tıklayarak iş istasyonunuzun ve daha önce eşlenen diğer tüm iş istasyonlarının eşlemesini kaldırabilirsiniz.

Cihaz yansıtma

Fiziksel cihazınızı Android Studio'daki Çalışan Cihazlar penceresine yansıtabilirsiniz. Cihazınızın ekranını doğrudan Android Studio'ya aktararak Studio IDE'yi kullanarak uygulamaları başlatma ve uygulamalarla etkileşim kurma, ekranı döndürme, telefonu katlama ve açma, ses seviyesini değiştirme gibi yaygın işlemleri gerçekleştirebilirsiniz.

Cihaz yansıtma, bilgisayara bağlı olan ve USB veya kablosuz hata ayıklama özelliği etkinleştirilmiş cihazlar olduğunda her zaman kullanılabilir. Çalışan Cihazlar penceresini veya Cihaz Yönetim Paneli'ni (Görünüm > Araç Pencereleri > Cihaz Yönetim Paneli) kullanarak yansıtmayı başlatıp durdurabilirsiniz. Cihaz yansıtmanın ne zaman etkinleştirileceğini ayarlarından (Ayarlar > Araçlar > Cihaz Yansıtma) özelleştirebilirsiniz.

Android Studio'daki Çalışan Cihazlar penceresinde cihaz yansıtma
Şekil 8. Çalışan Cihazlar kullanıcı arayüzü.

Sesi yönlendirme

Cihaz yansıtma özelliğini kullanırken bağlı fiziksel cihazlardan gelen sesi bilgisayarınızın hoparlörlerine veya kulaklığına yönlendirebilirsiniz. Ses yönlendirme özelliği sayesinde kulaklığınızı bilgisayarınıza bağlı tutabilir ve manuel olarak bir cihaza, ardından başka bir cihaza yeniden bağlanmak zorunda kalmadan hem bilgisayarı hem de bağlı telefonu dinleyebilirsiniz. Ses yönlendirmeyi etkinleştirmek için File (macOS'te Android Studio) > Settings > Tools > Device Mirroring'e gidin ve Redirect audio from local devices'ı seçin. Android 12 veya sonraki sürümleri çalıştıran Firebase Test Lab cihazlarında, ayarlardan bağımsız olarak sesin her zaman yönlendirildiğini unutmayın.

Bilinen sorunlar

Bazı cihazlar, cihaz yansıtmayı desteklemek için yeterli bit hızında kodlama yapamayabilir. Bu durumlarda, Çalışan Cihazlar penceresinde bir hata ve aşağıdakilere benzer günlükler görebilirsiniz.

2023-06-01 15:32:22,675 [  56094]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - Too many video encoder errors:
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - encoder: c2.android.vp8.encoder
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - mime type: video/x-vnd.on2.vp8
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max resolution: 640x640
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - min resolution: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - alignment: 2x2
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate: 960
2023-06-01 15:32:22,676 [  56095]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max frame rate for 288x640: 960
2023-06-01 15:32:22,870 [  56289]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - max bitrate: 20000000
2023-06-01 15:32:22,871 [  56290]   WARN - ScreenSharingAgent Samsung SM-A045F API 33 - terminated with code 1

Gizlilik uyarısı

Android Studio, cihaz yansıtma ayarlarına göre bağlı ve eşlenmiş tüm cihazlar için cihaz yansıtmayı otomatik olarak başlatabilir. Yansıtma bilgileri ve komutlar şifrelenmemiş bir kanal üzerinden iletildiğinden, adb tcpip komutuyla bağlanan cihazların bilgileri ifşa edilebilir. Ayrıca Android Studio, adb sunucusuyla iletişim kurmak için şifrelenmemiş bir kanal kullanır. Bu nedenle, yansıtma bilgileri ana makinenizdeki diğer kullanıcılar tarafından ele geçirilebilir.

Cihaz bağlantısı sorunlarını giderme

Cihazınız Android Studio'ya bağlanmıyorsa sorunu çözmek için aşağıdaki adımları deneyin:

Bağlantı Asistanı ile sorun giderme

Bağlantı Asistanı, ADB bağlantısı üzerinden cihaz kurmanıza ve kullanmanıza yardımcı olacak adım adım talimatlar sağlar.

Asistanı başlatmak için Tools (Araçlar) > Troubleshoot Device Connections'ı (Cihaz Bağlantılarıyla İlgili Sorunları Gider) seçin.

Bağlantı Asistanı, Asistan panelindeki bir dizi sayfada talimatlar, bağlam içi kontroller ve bağlı cihazların listesini sunar. Asistan panelinin alt kısmındaki Sonraki ve Önceki düğmelerini kullanarak sayfalar arasında gezinebilirsiniz:

  • Cihazınızı USB üzerinden bağlama: Bağlantı Yardımcısı, ilk olarak cihazınızı USB üzerinden bağlamanızı ister ve bağlı cihazlar için yeni bir tarama başlatabileceğiniz USB cihazlarını yeniden tara düğmesini gösterir.
  • USB üzerinden hata ayıklamayı etkinleştirme: Bağlantı Asistanı, cihaz üzerindeki geliştirici seçeneklerinde USB üzerinden hata ayıklamayı nasıl etkinleştireceğinizi gösterir.
  • ADB sunucusunu yeniden başlatın: Cihazınızı kullanılabilir cihazlar listesinde hâlâ görmüyorsanız Bağlantı Yardımcısı'nın son sayfasındaki ADB sunucusunu yeniden başlat düğmesini kullanın. ADB sunucusunu yeniden başlatmak, ADB'nin cihazları tekrar taramasına da neden olur. Cihazınızı kullanılabilir cihazlar listesinde hâlâ göremiyorsanız aşağıdaki bölümdeki sorun giderme adımlarını deneyin.

USB bağlantı sorunlarını giderme

Bağlantı Asistanı, cihazınızı USB üzerinden algılamıyorsa sorunu çözmek için aşağıdaki sorun giderme adımlarını deneyin:

Android Studio'nun Android Emulator'a bağlandığını kontrol etme

Sorunun Android Studio ile Android Emulator arasındaki bir bağlantı sorunundan kaynaklanıp kaynaklanmadığını kontrol etmek için aşağıdaki adımları uygulayın:

  1. Cihaz Yönetim Paneli'ni açın.
  2. Henüz bir AVD'niz yoksa yeni bir AVD oluşturun.
  3. AVD'nizi kullanarak emülatörü çalıştırın.
  4. Aşağıdakilerden birini yapın:
    • Android Studio emülatöre bağlanamıyorsa en yeni SDK Platform Araçları'nı indirip tekrar deneyin.
    • Emülatör başarıyla başlatılırsa aşağıdaki bölümde açıklandığı gibi USB kablosunu kontrol edin.

USB kablosunu kontrol edin

Sorunun hatalı bir USB kablosundan kaynaklanıp kaynaklanmadığını kontrol etmek için bu bölümdeki adımları uygulayın.

Başka bir USB kablonuz varsa:

  1. Cihazı ikincil kabloyu kullanarak bağlayın.
  2. Bağlantı asistanının cihazı algılayıp algılamadığını kontrol edin.
  3. Cihaz algılanmazsa birincil kabloyu tekrar deneyin.
  4. Cihaz hâlâ algılanmıyorsa sorunun cihazda olduğunu varsayın ve aşağıdaki bölümde açıklandığı gibi cihazın geliştirme için ayarlanıp ayarlanmadığını kontrol edin.

Başka bir USB kablonuz yoksa ancak Android destekli başka bir cihazınız varsa:

  1. İkincil cihazı bilgisayarınıza bağlayın.
  2. Bağlantı Yardımcısı ikincil cihazı algılayabiliyorsa sorunun birincil cihazda olduğunu varsayın ve cihazın geliştirme için ayarlanıp ayarlanmadığını kontrol edin.

    İkincil cihaz algılanmıyorsa sorun USB kablosunda olabilir.

Cihazın geliştirme için ayarlanıp ayarlanmadığını kontrol etme

Sorunun cihazdaki ayarlardan kaynaklanıp kaynaklanmadığını kontrol etmek için aşağıdaki adımları uygulayın:

  1. Geliştirme için cihaz ayarlama bölümündeki adımları uygulayın.
  2. Bu işlem sorunu çözmezse yardım için cihaz OEM'inin müşteri desteğiyle iletişime geçin. Müşteri desteği temsilcisine, cihazın ADB kullanarak Android Studio'ya bağlanmadığını söyleyin.

Kablosuz bağlantı sorunlarını çözme

Cihazınıza kablosuz olarak bağlanma konusunda 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 etme

İş istasyonunun ve cihazın ön koşulları karşıladığından emin olun.

adb sorun giderme kılavuzuna göz atın

ADB sorun giderme kılavuzunu uygulayın.

RSA güvenlik anahtarı

Android 4.2.2 (API düzeyi 17) veya sonraki sürümleri çalıştıran bir cihazı bilgisayarınıza bağladığınızda sistem, bu bilgisayar üzerinden hata ayıklamaya izin veren bir RSA anahtarının kabul edilip edilmeyeceğini soran bir iletişim kutusu gösterir. Bu güvenlik mekanizması, kullanıcı cihazlarını korur. Çünkü cihazın kilidini açıp iletişim kutusunu onaylamadığınız sürece USB üzerinden hata ayıklama ve diğer adb komutları yürütülemez.