Dün aldığım Turkcell T40’ı hemen kurcalamaya başladım. Asıl ihtiyacım, Android uygulama geliştirme olduğu için doğal olarak DDMS’e (Dalvik Debug Monitor Server) dalıp cihazı incelemeyi ve geliştirdiğim basit uygulamaları çalıştırmayı denedim. Tabi hatalar hemen baş gösterdi 😀
Sıkıntılı durum şuyduki, ADB (Android Debug Bridge) sunucusu cihazımı düzgün bir şekilde tanımıyordu. sdk/platform-tools klasörü içinden adb’yi manuel çalıştırdığımda da bir şey değişmedi:
1 2 3 4 5 | $ ./adb devices List of devices attached ????????? no permissions |
Çoğu sitede ADB sunucusunu kapatıp tekrar açmanın sorunu çözdüğünü söyleniyor. Ama Debian/Ubuntu temelli sistemler için bu yeterli değil maalesef. Sorunun çözülmesi için ADB’nin yetkili kullanıcıyla (root) açılması gerekiliyor. Örneğin şu şekilde denendiğinde cihaz düzgün olarak gözüküyor ve uygulamalar çalıştırılabiliyor:
1 2 3 4 5 6 7 | $ sudo ./adb kill-server $ sudo ./adb start-server $ sudo ./adb devices List of devices attached TURKCELL-T40 device |
Yalnız bu yöntemdeki sıkıntı da şu ki, sunucuyu her seferinde sudo ile yetkilendirilmiş kullanıcı olarak açmak gerekiyor. Bunun da çözümü şöyle: Dosya sahipliğini tamamen root kullanıcısına veriyoruz ve dosyayı kendi grubumuzdan da çalıştırılabilir hale getiriyoruz. Kullanıcı adı yazan yere kendi kullanıcı adınızı yazın ve komutları verin. (Örneğin: sudo chown root:marjinal1st adb) Ve dikkat edin: Bu komutların hepsini sdk/platform-tools klasöründen veriyoruz:
1 2 | $ sudo chown root:kullanici_adiniz adb $ sudo chmod 4550 adb |