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

Android uygulamanızı kullanıcılara yayınlamadan önce mutlaka 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ın ve Android cihazınızın nasıl ayarlanacağı açıklanmaktadır.

Geliştirme için cihaz kurma

Cihazınızda hata ayıklamaya başlamadan önce, cihaza USB kablosu mu yoksa kablosuz bağlantı kullanarak mı bağlanmak istediğinize karar verin. Ardından şunları yapın:

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

  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). Yükleme 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, bu değişikliğin geçerli olması için oturumu kapatmanız gerekir. Tekrar giriş yaptığınızda id kullanarak plugdev grubunda olup olmadığınızı kontrol edebilirsiniz.

      • Sistemde, cihazı kapsayan udev kuralı yüklü olmalıdır. android-sdk-platform-tools-common paketi, Android cihazlar için topluluk tarafından sürdürülen 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 ile bağlandıktan sonra Android Studio'da Çalıştır'ı tıklayarak cihazda uygulamanızı oluşturup çalıştırın.

Ayrıca, aşağıdaki gibi adb simgesini kullanarak da komut verebilirsiniz:

  • adb devices komutunu android_sdk/platform-tools/ dizininden ç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ıyı kullanarak cihazınıza bağlanma

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

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ı tamamlayı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 son sürümünün yüklü olduğundan emin olun. Buradan indirin.
  4. İş istasyonunuzda SDK Platform Araçları'nın en son sürümüne güncelleyin.

Cihazınıza bağlanmak için aşağıdaki adımları uygulayın:

  1. Android Studio'yu açın ve çalıştırma yapılandırmaları menüsünden Pair Devices Using Wi-Fi'ı (Cihazları Kablosuz Bağlantı Kullanarak Eşle) seçin.
    Çalıştırma yapılandırmaları açılır listesi
    1. şekil. Çalıştırma yapılandırmaları menüsü.

    Şekil 2'de gösterildiği gibi Cihazları kablosuz ağ üzerinden eşleyin iletişim kutusu görünür.
    Cihazları kablosuz ağ üzerinden eşleme pop-up penceresinin ekran görüntüsü
    Şekil 2. QR kodu veya eşleme kodu kullanarak cihazları eşleme iletişim kutusu.
  2. Cihazınızda geliştirici seçeneklerini etkinleştirin.
  3. Cihazınızda kablosuz bağlantı üzerinden hata ayıklamayı etkinleştirin.
    Kablosuz hata ayıklama sistem ayarını gösteren bir Pixel telefonun ekran görüntüsü.
    3.şekil Google Pixel telefondaki Kablosuz hata ayıklama ayarı.
  4. Kablosuz hata ayıklama'ya dokunun ve cihazınızı eşleyin:
    1. Cihazınızı QR koduyla eşlemek için Cihazı QR koduyla eşle'yi seçin ve Şekil 2'de gösterilen QR kodunu tarayın.
    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şleyin penceresinde göründüğünde cihazınızda gösterilen altı haneli kodu girip Eşle'yi seçin .
      Örnek eşleme kodu girişinin ekran görüntüsü
      Şekil 4. Altı haneli eşleme kodu girişine örnek.
  5. Eşleme işleminden sonra uygulamanızı cihazınıza dağıtmayı deneyebilirsiniz.

Farklı bir cihazı eşlemek veya iş istasyonunuzda bu cihazı unutmak için:

  1. Cihazınızda Kablosuz hata ayıklama'ya gidin.
  2. Eşlenen cihazlar bölümünde iş istasyonunuzun adına dokunun.
  3. Unut'u seçin.

Cihaz yansıtma

Fiziksel cihazınızı Android Studio'daki Çalışan Cihazlar penceresinde 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.

USB veya kablosuz hata ayıklama özelliği etkinleştirilmiş cihazlar bilgisayara bağlıyken cihaz yansıtma özelliği her zaman kullanılabilir. Running Devices (Çalışan Cihazlar) penceresini veya Device Manager'ı (Cihaz Yöneticisi) kullanarak yansıtmayı başlatabilir ve durdurabilirsiniz (View > Tool Windows > Device Manager). Cihaz yansıtmanın ne zaman etkinleştirileceğini de cihazın ayarlarından özelleştirebilirsiniz (Ayarlar > Araçlar > Cihaz Yansıtma).

Çalışan Cihazlar kullanıcı arayüzü

Sesi yönlendirme

Cihaz yansıtma özelliğini kullanırken bağlı fiziksel cihazlardaki sesi bilgisayarınızın hoparlörlerine veya kulaklığınıza yönlendirebilirsiniz. Ses yönlendirme özelliği sayesinde kulaklığınızı bilgisayarınıza bağlı tutabilir ve bir cihaza manuel olarak bağlanıp ardından diğerine bağlanmak zorunda kalmadan hem bilgisayarı hem de bağlı telefonu dinleyebilirsiniz. Ses yönlendirmeyi etkinleştirmek için Dosya (macOS'te Android Studio) > Ayarlar > Araçlar > Cihaz Yansıtma'ya gidin ve Yerel cihazlardaki sesi yönlendir'i seçin. Android 12 veya daha yeni bir sürümü ç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ı destekleyecek kadar yüksek bir 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 bağlı olarak bağlı ve eşlenmiş tüm cihazlar için cihaz yansıtmayı otomatik olarak başlatabilir. Bu durum, yansıtma bilgileri ve komutları şifrelenmemiş bir kanal üzerinden iletildiğinden adb tcpip komutuyla bağlı cihazlar için bilgi ifşasına neden olabilir. Ayrıca Android Studio, adb sunucusuyla iletişim kurmak için şifrelenmemiş bir kanal kullandığından yansıtılan bilgiler, 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 bir cihazı ayarlamanıza ve kullanmanıza yardımcı olacak adım adım talimatlar sağlar.

Yardımcıyı başlatmak için Araçlar > Cihaz Bağlantılarıyla İlgili Sorunları Giderme'yi seçin.

Bağlantı Asistanı, Asistan panelindeki bir dizi sayfada talimatlar, bağlama özel kontroller ve bağlı cihazların listesini sağlar. Gerekli sayfaları incelemek için Asistan panelinin alt kısmındaki Sonraki ve Önceki düğmelerini kullanın:

  • Cihazınızı USB üzerinden bağlayın: Bağlantı Asistanı önce cihazınızı USB üzerinden bağlamanızı ister ve bağlı cihazlar için yeni bir tarama başlatabileceğiniz USB cihazları yeniden tara düğmesini sağlar.
  • USB üzerinden hata ayıklamayı etkinleştirin: Bağlantı Asistanı, cihazdaki 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ı hâlâ kullanılabilir cihazlar listesinde görmüyorsanız Bağlantı Asistanı'nın son sayfasındaki ADB sunucusunu yeniden başlat düğmesini kullanın. ADB sunucusunun yeniden başlatılması, ADB'nin cihazları tekrar taramasına da neden olur. Cihazınız hâlâ kullanılabilir cihazlar listesinde görünmüyorsa 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 edin.

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

  1. Cihaz Yöneticisi'ni açın.
  2. Henüz 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 son SDK Platform Araçları'nı indirip tekrar deneyin.
    • Emülatör başarıyla başlatılırsa bir sonraki 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 cihazla ilgili olduğunu varsayın ve cihazın geliştirme için ayarlanıp ayarlanmadığını kontrol edin.

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

  1. İkincil cihazı bilgisayarınıza bağlayın.
  2. Bağlantı Asistanı 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 çözmüyorsa yardım almak için cihaz OEM'sinin 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ğlanırken sorun yaşıyorsanız sorunu çözmek için aşağıdaki sorun giderme adımlarını deneyebilirsiniz:

İş istasyonunuzun ve cihazınızın ön koşulları karşılayıp karşılamadığını kontrol edin.

Kablosuz hata ayıklama için ön koşulları karşılamak üzere şunlardan emin olun:

Bilinen diğer sorunları kontrol etme

Aşağıda, Android Studio'da kablosuz hata ayıklamayla ilgili mevcut bilinen sorunların listesi ve bunların nasıl çözüleceği açıklanmaktadır:

  • Kablosuz ağa bağlanılamıyor: Bazı kablosuz ağlar (ör. kurumsal kablosuz ağlar) eşler arası bağlantıları engelleyebilir ve kablosuz ağ üzerinden bağlanmanıza izin vermeyebilir. Kabloyla veya başka bir kablosuz ağla bağlanmayı deneyin.
  • Kablosuz üzerinden ADB bazen otomatik olarak devre dışı kalıyor: Bu durum, cihazın Wi-Fi ağları arasında geçiş yapması veya ağ bağlantısının kesilmesi halinde ortaya çıkabilir.

RSA güvenlik anahtarı

Android 4.2.2 (API düzeyi 17) veya sonraki sürümlerin yüklü olduğu 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ı, cihazın kilidini açıp iletişim kutusunu onaylamadığınız sürece USB hata ayıklama ve diğer adb komutları yürütülemediğinden kullanıcı cihazlarını korur.