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 cihazınızı nasıl ayarlayacağınız açıklanmaktadır.
Geliştirme için cihaz kurulumu
Cihazınızda hata ayıklamaya başlamadan önce, cihaza bir USB kablosuyla mı yoksa kablosuz bağlantıyla mı bağlanmak istediğinize karar verin. Daha sonra, aşağıdakileri yapın:
Cihazda, Ayarlar uygulamasını açın, Geliştirici seçenekleri'ni seçin ve ardından USB üzerinden hata ayıklama'yı (varsa) etkinleştirin.
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 kurun:
- ADB'yi kullanmak isteyen her kullanıcı
plugdev
grubunda olmalıdır.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üncellendiğinden bu değişikliğin geçerli olması için çıkış yapmanız gerekir. Tekrar giriş yaptığınızda
plugdev
grubunda olup olmadığınızı kontrol etmek içinid
öğesini kullanabilirsiniz.- 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ılanudev
kural kümesi içerir. Bu uzantıyı yüklemek için aşağıdaki komutu kullanın:
apt-get install android-sdk-platform-tools-common
- ADB'yi kullanmak isteyen her kullanıcı
Cihazınıza USB kullanarak bağlayın
Kurulumu tamamlayıp USB üzerinden prize taktığınızda, cihazda uygulamanızı oluşturmak ve çalıştırmak için Android Studio'da Çalıştır'ı tıklayın.
Komut yayınlamak için adb
aracını aşağıdaki gibi de kullanabilirsiniz:
android_sdk/platform-tools/
dizininizdenadb devices
komutunu çalıştırarak cihazınızın bağlandığını doğrulayın. Bağlanmışsanız cihaz listelenir.- Cihazınızı hedeflemek için
-d
işaretiyle herhangi biradb
komutu verin.
Kablosuz ağ kullanarak cihazınıza bağlanın
Android 11 ve sonraki sürümler, Android Debug Bridge (ADB) üzerinden uygulamanızı iş istasyonunuzdan kablosuz olarak dağıtmayı ve hata ayıklamayı destekler. Örneğin, hata ayıklaması yapılabilir uygulamanızı, cihazınızı USB ile fiziksel olarak bağlamadan ve sürücü yüklemesi gibi yaygın USB bağlantısı sorunlarıyla uğraşmadan 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ı uygulayın:
- İş istasyonunuzun ve cihazınızın aynı kablosuz ağa bağlı olduğundan emin olun.
- Cihazınızın Android 11 veya sonraki bir sürümü çalıştırdığından emin olun. Daha fazla bilgi edinmek için Android sürümünüzü kontrol etme ve güncelleme bölümüne bakın.
- Android Studio'nun en son sürümünün yüklü olduğundan emin olun. Buradan indirin.
- İş istasyonunuzda SDK Platform Araçları'nın en son sürümüne güncelleyin.
Cihazınıza bağlanmak için şu adımları uygulayın:
- Android Studio'yu açın ve yapılandırma çalıştırma menüsünden Cihazları Kablosuz Ağ Kullanarak Eşle'yi seçin.
Şekil 1. Yapılandırmaları çalıştır menüsünü kullanın.
Şekil 2. QR kodu veya eşleme kodu kullanarak cihazları eşlemeye yarayan iletişim kutusu. - Cihazınızda geliştirici seçeneklerini etkinleştirin.
- Cihazınızda Kablosuz bağlantı üzerinden hata ayıklama'yı etkinleştirin.
Şekil 3. Google Pixel telefonda Kablosuz hata ayıklama ayarı. - Kablosuz hata ayıklama'ya dokunup cihazınızı eşleyin:
- Cihazınızı bir QR kodu ile eşlemek için Cihazı QR koduyla eşle'yi seçin ve şekil 2'de gösterilen QR kodunu tarayın.
- Cihazınızı bir eşleme koduyla eşlemek için Yeni cihazları kablosuz ağ üzerinden eşle iletişim kutusunda Cihazı eşleme koduyla eşle seçeneğini belirleyin. Cihazınızda Eşleme kodunu kullanarak eşle'yi seçin. Altı haneli bir kod
görüntülenir. Cihazınız Kablosuz ağ üzerinden cihaz eşleme penceresinde göründüğünde cihazınızda gösterilen altı haneli kodu girin ve Eşle'yi seçin .
Şekil 4. Altı haneli eşleme kodu girişi örneği.
- Eşleme işleminden sonra uygulamanızı cihazınıza dağıtmayı deneyebilirsiniz.
Farklı bir cihazı eşlemek veya bu cihazı iş istasyonunuzda unutmak için:
- Cihazınızda Kablosuz hata ayıklama'ya gidin.
- Eşlenen cihazlar bölümünde iş istasyonunuzun adına dokunun.
- 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, uygulamaları başlatma ve uygulamalarla etkileşimde bulunma, ekranı döndürme, telefonu katlayıp açma ve ses seviyesini değiştirme gibi sık yapılan işlemleri yürütmek için Studio IDE'nin kendisini kullanabilirsiniz.
Cihaz yansıtma, bilgisayara bağlı ve USB ya da kablosuz hata ayıklama işlevi etkinleştirilmiş cihazlar olduğunda her zaman kullanılabilir. Çalışan Cihazlar penceresini veya Cihaz Yöneticisi'ni (Görünüm > Araç Pencereleri > Cihaz Yöneticisi) kullanarak yansıtmayı başlatabilir ve durdurabilirsiniz. Ayrıca, cihaz yansıtmanın ne zaman etkinleştirileceğini ayarlardan özelleştirebilirsiniz (Ayarlar > Araçlar > Cihaz Yansıtma).
Bilinen sorunlar
Bazı cihazlar, cihaz yansıtmasını desteklemek için yeterli bit hızında kodlama yapamayabilir. Bu tür durumlarda, Çalışan Cihazlar penceresinde bir hatanın yanı sıra aşağıdakine 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ın yansıtma ayarlarına bağlı olarak bağlı ve eşlenmiş herhangi bir cihaz için cihaz yansıtmasını otomatik olarak başlatabilir. Bu durum, yansıtma bilgileri ve komutların şifrelenmemiş bir kanal üzerinden aktarılmasından dolayı adb tcpip
komutuyla bağlı cihazlar için bilgilerin açıklanmasına neden olabilir. Ayrıca, Android Studio adb sunucusuyla iletişim kurmak için şifrelenmemiş bir kanal kullanır. Böylece, yansıtma bilgileri ana makine makinenizdeki diğer kullanıcılar tarafından ele geçirilebilir.
Cihaz bağlantısıyla ilgili sorunları 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
Connection Assistant, ADB bağlantısı üzerinden bir cihaz kurup kullanmanıza yardımcı olacak adım adım talimatlar sağlar.
Asistan'ı başlatmak için Araçlar > Cihaz Bağlantı Sorunlarını Giderme'yi seçin.
Connection Assistant, Asistan panelinde yer alan bir dizi sayfada talimatlar, bağlam içi denetimler ve bağlı cihazların listesini sağlar. Gerektiğinde sayfalar üzerinde çalışmak için Asistan panelinin alt kısmındaki Sonraki ve Önceki düğmelerini kullanın:
- Cihazınızı USB üzerinden bağlama: Bağlantı Asistanı öncelikle 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üğmesi sağlar.
- USB hata ayıklamasını etkinleştirme: Connection Assistant daha sonra cihaz üzerinde 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 Connection Assistant'ı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örmüyorsanız aşağıdaki bölümde yer alan sorun giderme adımlarını deneyin.
USB bağlantısı sorunlarını çözme
Bağlantı Asistanı, cihazınızı USB üzerinden algılamazsa sorunu çözmek için aşağıdaki sorun giderme adımlarını deneyin:
Android Studio'nun Android Emülatör'e bağlanıp bağlanmadığını kontrol etme
Sorunun, Android Studio ile Android Emülatör arasındaki bir bağlantı sorunundan kaynaklanıp kaynaklanmadığını kontrol etmek için şu adımları uygulayın:
- Cihaz Yöneticisi'ni açın.
- Henüz yoksa yeni bir ortalama görüntüleme süresi oluşturun.
- Ortalama görüntüleme sürenizi kullanarak emülatörü çalıştırın.
- 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 USB kablosunu aşağıdaki bölümde açıklandığı şekilde 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:
- İkincil kabloyu kullanarak cihazı bağlayın.
- Bağlantı Asistanının artık cihazı algılayıp algılayamadığını kontrol edin.
- Cihaz algılanmazsa birincil kabloyu tekrar deneyin.
- Cihaz hâlâ algılanmazsa sorunun cihazda olduğunu varsayın ve aşağıdaki bölümde açıklandığı şekilde 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:
- İkincil cihazı bilgisayarınıza bağlayın.
Bağlantı Asistanı ikincil cihazı algılayabilirse sorunun birincil cihazda olduğunu varsayın ve cihazın geliştirme için ayarlanıp ayarlanmadığını kontrol edin.
İkincil cihaz algılanmazsa 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 şu adımları uygulayın:
- Geliştirme için cihaz kurma bölümündeki adımları uygulayın.
- Sorun çözülmezse yardım için cihazın OEM'in 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ı deneyebilirsiniz:
İş istasyonunuzun ve cihazınızın ön koşulları karşılayıp karşılamadığını kontrol etme
Kablosuz hata ayıklamaya ilişkin ön koşulları karşılamak için şunlardan emin olun:
- İş istasyonunuz ve cihazınız aynı kablosuz ağa bağlı.
- Cihazınız Android 11 veya sonraki bir sürümü çalıştırıyordur. Daha fazla bilgi için Android sürümünüzü kontrol etme ve güncelleme bölümüne bakın.
- Android Studio'nun en son sürümüne sahip olduğunuzdan emin olun. Uygulamayı ana Android Studio sayfasından indirebilirsiniz.
- İş istasyonunuzda SDK Platform Araçları'nın en son sürümüne sahip olmalısınız.
Bilinen diğer sorunları kontrol edin
Android Studio'da kablosuz hata ayıklamayla ilgili bilinen mevcut sorunların bir listesi ve çözüm yolları aşağıda verilmiştir:
- Kablosuz ağ bağlanmıyor: Şirket kablosuz ağları gibi bazı kablosuz ağlar p2p bağlantılarını engelleyebilir ve kablosuz üzerinden bağlanmanıza izin vermeyebilir. Kablo veya başka bir kablosuz ağ ile bağlanmayı deneyin.
- Kablosuz ağ üzerinden ADB bazen otomatik olarak kapanır: Bu durum, cihaz kablosuz ağları değiştirirse veya ağla bağlantıyı keserse meydana gelebilir.
RSA güvenlik anahtarı
Bilgisayarınıza Android 4.2.2 (API düzeyi 17) veya sonraki sürümleri çalıştıran bir cihaz bağladığınızda sistem, bu bilgisayar üzerinden hata ayıklamaya olanak veren bir RSA anahtarını kabul edip etmeyeceğinizi soran bir iletişim kutusu gösterir. 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ülemeyeceği için bu güvenlik mekanizması, kullanıcı cihazlarını korur.