14 Şubat 2018 Çarşamba

Android Dersleri 28 - Android Uygulamanızı gerçek cihazda çalıştırmak / test etmek

28 - Android Uygulamanızı gerçek cihazda çalıştırmak / test etmek
How to use your phone as emulator? In other words, how to compile and test your app in physical device?
Şimdiye kadar geliştirdiğimiz android studio projelerini default emulator'da çalıştırdık. Ancak default emulator ram'de çok fazla yer kaplıyor bilgisayarı aşırı yavaşlatıyor. Dolayısıyla bundan sonra Android Studio projelerini usb bağladığımız HTC telefonumuzda çalıştıracağız. Bunun için şu adımları takip etmeliyiz :


1 - In the build.gradle file, set the debuggable property of the debug build type to true:
android {
   buildTypes {
       debug {
           debuggable true
       }
}
2 - Connect your device to your development machine with a USB cable. If you're developing on Windows, you might need to install the appropriate USB driver for your device. For help installing drivers, see the OEM USB Drivers document. ( Telefonumuzu usb kablosuyla bilgisayara bağlarız. Ancak hangi kabloyla bağladığımız önemlidir, telefonu bilgisara küçük kabloyla bağlayınca bilgisayar kabloyu görmedi, hızlı şarj aletinin kablosuyla bağlayınca gördü. Telefon bağlanınca telefonu ne amaçla bilgisyarımızı soran bir seçenek görürüz telefonumuzda, bu seçenek telefondan telefona değişir bazılarında aşağıdaki gibi bir şey çıkar burada bize uygun olan Camera(PTP) seçeneğidir.
"Benim HTC telefonumda ise bağladığımda usb debugging enabled olduğu için telefonumda "USB hata ayıklama bağlı" yazdı herangi bir şey seçmeme gerek kalmadı.
Bilgisyarıma sağ tıkla -> Device Manager -> Other altında telefonumuzun bağlı olduğunu görebiliriz, ancak burada bir ikaz bir error işareti vardır çünkü bilgisayarımıza henüz HTC OEM driver'ı yüklemedik, yükleyince bu hata düzelecektir:
OEM : Original equipment manufacturer
Sonra ise telefonumuzun OEM USB Driver'ını yüklemeliyiz. Ben HTC telefon kullanacağım için HTC USB driver yükleyeceğim. Aşağı linkteki htc sync manager'ı indirdim bunun için : http://www.htc.com/us/support/software/htc-sync-manager.aspx
Bu sayfadan indirdiğim HTC SYNC Manager'ın desteklediği device'lar arasında HTC ONE S olmamasına rağmen, bu yazılımı kurduğumda htc one s telefonum ile uyumlu çalıştı.
Bunu yüklerken, "Error 1500 "Another Installation is in Progress you must complete the installation before continuing this one" diye bir hata aldım, biraz bekledikten sonra retry'a tıklayınca düzgün bir şekilde yüklendi.)


3 - Enable USB debugging on your device by going to Settings > Developer options. ( Telefonumuzun ayarlarından Developer options'a girip USB Debugging seçeneğine tick işareti koyarız: )
     


Note: On Android 4.2 and newer, Developer options is hidden by default. To make it available, go to Settings > About phone and tap Build number seven times. Return to the previous screen to find Developer options. (Android 4.2 ve üzeri işletim sistemi kullana telefonlarda Settings menüde Developer options default olarak gizlidir, gözükmez. Developer options'ın görünür olabilmesi için, Settings' tıklarız. -> About Phone'a tıklarız. -> Build number'a 7 defa tıklarız.   )


4 - Run the app from Android Studio -> Açılan "Select Deployment Target" penceresinde fiziksel device'ımız gözükür,  bunu seçip OK'a tıklarız. Android Studio bu uygulamayı USB ile bağladığımız telefona yükler.
Verify that your device is connected by running the adb devices command from your android_sdk/platform-tools/ directory. If connected, you'll see the device listed. ( Android Studio'nun bilgisayarımıza bağladığımız telefonu görüp görmediğini check etmek için Android Studio'nun terminalinden şu komutu veririz:  adb devices     )
Bu örnekte sdk location'ımı bulup bu location'ın altındaki platform-tools directory'ye gittim. Komutu burdan verdim. sdk location'ımı ise şöyle buldum : Projeye sağ tıkladım -> Open Module Settings -> Açılan pencerede Android SDK location gösterilmiştir:


   


Note: Use the Android emulator to test your app on different versions of the Android platform and different screen sizes. Also consider using Firebase Test Lab to run your app on a wide variety of real devices hosted in a cloud-based infrastructure.  ( Uygulamanızın farklı android versiyonlarında (farklı işletim sistemlerinde, farklı büyüklükte cihazlarda) nasıl çalıştığını test etmek için Android emulator veya Firebase Test Lab kullanabilirsiniz. Firebase Test Lab kullanarak, cloud tabanlı altyapıda çalışan gerçek cihazlar üzerinde uygulamalarımızı çalıştırabiliriz. )
Uygulamada aldığımız hataları emulator ile çalışırkenki Android Studio'daki aynı yerden takip edebiliriz :
8.1 . Error : Device is Offline/Unauthorized
Android Studio terminalinde adb devices komutunu çalıştırdığımızda device offline görünüyorsa, veya emulator'de device offline görünüyorsa, telefon'da usb debugging'e izin verdirtmemiz lazımdır. Bunun için aşağıdaki adımları uyguları, 4.adımda bir pencere açılır usb debugging'e izin verilsin mi diye buna onay verince device artık online'dır.
It's likely that the device is no longer authorized on ADB for whatever reason.
1. Check if authorized:
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        unauthorized
2. Revoke USB Debugging on phone
If the device is shown as unauthorized, go to the developer options on the phone and click "Revoke USB debugging authorization" (tested with JellyBean & Samsung GalaxyIII).
3. Restart ADB Server:
Then restarted adb server
adb kill-server
adb start-server
4. Reconnect the device
The device will ask if you are agree to connect the computer id. You need to confirm it.
5. Now Check the device
It is now authorized!
adb devices
<ANDROID_SDK_HOME>\platform-tools>adb devices
List of devices attached
4df798d76f98cf6d        device

Hiç yorum yok:

Yorum Gönder