Günümüz dünyasında en çok kullandığımız araçlardan bir tanesi haline gelen telefonlar ve özellikle akıllı telefonlar, dokunmatik ekranlarından kontrol edilebilmeleri üzerine geliştirilmişlerdir. Günlük hayatta telefonumuzu cebimizden çıkarıp dokunmatik ekranı vasıtasıyla işlerimizi yürütürüz. Ancak zaman zaman telefonumuzun ekranına bilgisayarımızdan erişmek ve bilgisayar ekranından kontrol etmek isteriz. Veya bir kaza sonucu ekranı darbe gören telefonumuzun ekranını göremeyebilir, dokunmatik özelliğini kullanamayabilir, veya (Benim başıma gelen gibi) bu iki özellikten de mahrum kalabiliriz.

Farklı şartlar altında bilgisayarımız üzerinden Android telefonumuzun ekranına ulaşmak için aslında birçok yöntem var. Bu yazıda Android Hata Giderme Köprüsü (Android Debug Bridge – ADB) üzerinden telefonun ekranını görmeye ve kontrol etmeye yarayan scrcpy isimli aracı inceleyeceğiz.

Bu yazının yazılma motivasyonlarından bir tanesi de aslında yukarıda da bahsettiğim bir acil durum kullanımından geçiyor. Şehirlerarası yolculuğa çıkmak için arabaya bindiğim sırada Android cihazım cebimden kayarak düşmüş ve düşüşü sırasında benim de aracın kapısını kapatmamla birlikte, kapı ile araç arasında sıkışan telefonun güçlü bir darbeye maruz kalmasıyla ekranı kırılmıştı. Bu yüzden telefon, dokumatik özelliğini çok büyük oranda yitirmiş ve görüntü veremez hale gelmişti. Daha önceden bilgisayarıma ADB üzerinden bağladığım cihazıma, o sırada yanımda kullanabileceğim başka bir telefon olmadığı için nasıl erişebileceğimi ve içerisindeki bilgileri nasıl kullanabileceğimi düşünürken bu araç aklıma geldi ve eve dönene kadar cihazın ekran haricindeki tüm işlevlerini sorunsuz şekilde kullanabildim. Bu musibetten edindiğim tecrübeyi sizlerle de paylaşmanın faydalı olacağını düşündüm.

scrcpy

Genymobile tarafından Apache v2 lisansıyla geliştirilen scrcpy GitHub üzerinde özgür yazılım olarak geliştirilmektedir. Herhangi bir root erişim izni gerektirmemesi nedeniyle scrcpy‘yi cihazınıza herhangi bir kritik müdahale yapmaya gerek kalmadan kullanabilirsiniz. GNU/Linux dağıtımları, Windows ve MacOS üzerinde çalışabilmesi sayesinde ise telefonunuzun ekranını neredeyse tüm bilgisayarlardan yönetebilme imkanı sağlamaktadır.

Gayet hızlı ve sorunsuz çalışan scrcpy‘nin odaklandığı noktalar ise GitHub reposundaki Beni Oku dosyasında şu şekilde belirtilmiş:

  • Hafiflik (Native olarak geliştirilmiştir, sadece cihaz ekranını görüntüler)
  • Performans (30 ile 60 FPS arasında görüntü alabilme sıklığı)
  • Kaliteli (1920×1080 ve üzerinde görüntü çözünürlüğü sağlar)
  • Düşük Gecikme (35 ~ 70 ms)
  • Hızlı Başlatma (~ 1 saniyede ilk görüntü alınır)
  • Cihazda kurulu bir şey bulunmaz.

Android Hata Ayıklama Modunun Açılması

Android 5.0 ve üzeri cihazlarla çalışan uygulamayı kullanabilmek için Android telefonunuzu ADB üzerinden bağlamış olmanız gerekmektedir. Bunun için ise Android ayarlarından Geliştirici Modunu aktifleştirmiş olmanız gerekmektedir. Eğer daha önceden telefonunuzda Geliştirici Modu aktifleştirilmemişse aşağıdaki talimatı takip ederek aktifleştirebilirsiniz:

  • Cihazınızın Ayarlar menüsünü açın.
  • Telefon Hakkında menüsüne gidin.
  • Bu menüde yer alan veya bu menünün içerisindeki Yazılım Bilgileri menüsünde yer alan Yapım Numarası bilgisine 5 defa art arda tıklayın.
  • Bu işlemi yaptığınızda “Geliştirici modu etkin” uyarısı almış olmanız lazım.

Geliştirici modunu etkinleştirdiğinizde cihazınızın Ayarlar menüsüne Geliştirici Seçenekleri adında yeni bir menü görünür hale gelecektir. Geliştirici Seçenekleri menüsünden USB hata ayıklamasını etkinleştirmeniz gerekmektedir.

scrcpy Kurulumu

GitHub üzerinde kaynak kodlarını bulabileceğiniz, hatta geliştirebileceğiniz aracı kurmak birçok sistem üzerinde gayet kolay durumdadır.

Linux

Debian tabanlı işletim sistemlerinde (Şimdilik testing ve sid) uygulamayı kurmak için apt install scrcpy komutunu çalıştırmanız yeterlidir. Diğer sistemler için ise kaynak koddan derleyebilir{.rank-math-link} veya diğer birçok yolla kurulum yapabilirsiniz: h{.rank-math-link}ttps://github.com/Genymobile/scrcpy#linux

Windows

Windows sistemlerde uygulamayı kullanmak için uygulamanın GitHub sayfasında yer alan Releases kısmındaki hazır paketleri kullanabilirsiniz (32-bit sistemler için win32, 64-bit sistemler için win64 yazan paketleri indirin): https://github.com/Genymobile/scrcpy/releases

Veya isterseniz kaynak koddan derleyebilir veya diğer yollarla kurulum yapabilirsiniz: https://github.com/Genymobile/scrcpy#windows

macOS

macOS sistemlerde uygulamayı kullanmak için homebrew kullanarak uygulamayı yükleyebilirsiniz. Bu komutla uygulama kurulumunu gerçekleştirebilirsiniz: brew install scrcpy

Sisteminizde ADB yüklü değil veya komutların arandığı sistem yollarına dahil değilse brew cask install android-platform-tools komutunu çalıştırarak kurulumu yapabilirsiniz.

Veya isterseniz uygulamayı kaynak koddan derleyebilirsiniz.

Telefona Bağlanma

Cihazınızı bilgisayarınıza USB kablo ile bağlamış, gerekli izinleri de vermiş iseniz artık telefonunuza bağlanmak için hazır hale gelmiş olmalısınız. Bu aşamadan sonra yapmanız gereken tek şey Linux veya MacOS için konsoldan, Windows sistemler için ise Komut İstemcisi , Çalıştır veya PowerShell üzerinden aşağıdaki komutu çalıştırmaktır.

scrcpy

Bu komutu çalıştırdığınızda bir pencere açılarak telefonunuzun ekranını o pencere üzerinden görebiliyor olmanız gerekmektedir. Bu pencereyi yeniden boyutlandırabilirsiniz. Telefonunuzun ekran döndürme seçeneği açık ise telefonunuzu yan çevirdiğinizde bu pencere de yatay hale gelecektir.

<figcaption>Dikey Görünüm</figcaption></figure>

<figcaption>Yatay Görünüm</figcaption>

Kablosuz Bağlantı Yapma

Eğer telefonunuzu USB kabloyu kullanarak ADB ile bağlamışsanız artık kablosuz olarak da kullanabilirsiniz. Bilgisayarınız ve Android cihazınız aynı kablosuz ağda ise cihazınız USB kablo ile bağlı iken konsoldan adb tcpip 5555 komutunu yazarak cihazınızın kablosuz bağlantıya hazır olmasını sağlayabilirsiniz. Bu işlemi yaptıktan sonra USB kabloyu çıkardığınızda telefonunuza IP adresi üzerinden bağlanabilirsiniz. Bunun için yine konsoldan adb connect ANDROID_CIHAZIN_IP_ADRESI:5555 komutunu kullanabilirsiniz. Android cihazınızın IP adresini öğrenmek için Ayarlar -> Telefon Hakkında -> Durum yolunu izleyebilir veya Ayarlar -> Kablosuz Bağlantı Ayarları yolunu izleyerek bağlı olduğunuz kablosuz ağın ismine tıkladığınızda IP adresini öğrenebilirsiniz. Bu işlemler telefondan telefona değişiklik gösterebilir.

<figcaption>Android Telefonun IP Adresinin Telefon Üzerinden Öğrenilmesi</figcaption></figure>

Android cihazınızı kablosuz ağ üzerinden bağlantısını kurduysanız konsoldan scrcpy komutunu kullanarak cihazınızın ekranına kablosuz şekilde erişebilirsiniz.

Not: Kablosuz bağlantı işlem izni geçicidir, ağ değişikliklerinde veya belirli süre sonunda telefona kablosuz bağlantı yapmak için tekrardan USB üzerinden bağlantı kurmanız gerekebilir.

Not 2: Kablosuz bağlantı yöntemi genellikle USB kablodan daha fazla gecikmeye neden olmaktadır. Özellikle medya oynatmalarını veya oyun oynarken görüntüyü bilgisayarınızdan görmek ve kontrol etmek istiyorsanız USB kablo kullanmanız tavsiye edilir.

Diğer Ayarlar ve Kısayollar

scrcpy uygulaması ADB üzerinden çalıştığı için bilgisayara birçok cihazın birlikte bağlanması gibi durumlarda cihaz seçimi yapılması gibi birçok ayar ADB parametreleri kullanılarak yapılmaktadır. Bu ayarları öğrenmek için uygulamanın GitHub reposundaki Beni Oku dosyasından faydalanabilirsiniz.

Uygulama kullanımı kolaylaştırmak için birçok kısayola da sahip bu kısayolların şu anki hali aşağıdaki gibidir. En güncel listeye GitHub reposundaki Beni Oku dosyasından ulaşabilirsiniz.

<figcaption>scrcpy Kısayol Tuşları Listesi</figcaption></figure>

scrcpy adının nereden geldiğini merak edenler için ise cevap yine GitHub reposundaki Beni Oku dosyasında verilmiştir. C dilinde string kopyalamak için kullanılan strcpy fonksiyonundan esinlenerek aşağıdaki betimlemeyi yapmışlar. 🙂

strcpy bir  string kopyalar, scrcpy bir ekran (screen) kopyalar.

Bu işlevi Android işletim sistemi yüklü tüm cihazlar için kullanabilirsiniz. Örneğin; Raspberry veya Tinker Board S’inize Android kurmuşsanız ve kendi bilgisayarınızdan da ekran elde etmek istiyorsanız bu yöntemi kullanabilirsiniz. Tinker Board S’e İşletim Sistemi Kurulumu{.rank-math-link} için aşağıdaki yazıyı takip edebilirsiniz.

</figure>