SlideShare a Scribd company logo
1 of 24
Download to read offline
Android developer options &
Android SDK tools
(for QA)
Agenda
1. Overview of the “android developer tools”
2. Overview of the “android sdk tools”
3. Developer tools - top list features
4. Short overview of tools & libs used by Good&Co android developers
Developer options - How to install*
1. Go to the settings menu, scroll down to “About phone” and tap it.
2. Scroll down to the bottom again, where you see “Build number”
3. Tap it seven times. After the third tap, you will see a dialog that says: “you’re four
taps away from being a developer”. Keep on tapping until you have got your
special setting appear.
Note: it’s hidden by default starting from android 4. 2
Android developer options structure
● Debugging options
● Input options
● Drawing / hardware accelerated rendering options
● Monitoring options
● Apps options
Debugging options
1. “USB debugging” - connecting device via usb.
2. “Take bug report / Bug report option” - collection info with logs about device state with
sending e-mail message.
3. “Desktop backup password” - allows to use ADB to backup and restore things like apps and their
associated data to and from your computer
4. “Stay awake / Always stay awake” - screen will never sleep while charging
5. “HDCP checking” - protecting files, which are shared via Wi-Fi, Bluetooth, etc.
6. “Enable Bluetooth HCI snoop log” - logging every transmitted file via bluetooth
7. “Process Stats” - monitoring app usage statistics
8. “Allow Mock Location” - forcing user location using GPS and 3-rd party resources
9. “Select debug app” - setting lets you choose an application to debug.
Debugging options
10. “Verify apps via USB” - lets Android scan applications you installed via ADB for malicious behavior.
11. “Enable Wi-Fi verbose logging” - logging more information as usual (slows down device
performance)
12. “Wi-Fi to Cellular handover“- appropriate switching to wi-fi mode in case of slow cellular
connection and back again
Input options
13. “Show touches” - displaying finger touches on the display (useful while screen-recording)
14. “Pointer Location” - this setting places an information bar at the top of your screen telling you the
screen coordinates of the last place the screen was touched.
Drawing options
15. “Surface update” - makes the edge of a "window" flash when its contents are updated.
16. “Show layout bounds” - marks the edges of all the elements in a dialog so you know where any touch
will activate them.
17. “Force RTL direction” - forces screen orientation for right to left language support.
18. “Window animation scale” - sets the speed for window animation. A lower number is faster.
19. “Simulate secondary displays” - this setting allows us to simulate different screen sizes.
Drawing / Hardware accelerated rendering options
20. “Show hardware layers updates” - displaying screen flashes when device updates surface (useful
when developing widgets)
21. “Debug GPU overdraw” - overdraw happens every time the application asks the system to draw
something on top of something else. This setting lets you see when and where this is happening so you know if
it is a problem.
Monitoring options
22. “Strict mode enabled” - this setting flashes the screen when an application uses the main thread to
perform long, intensive operations.
23. “Show CPU usage” - places a window in the upper right of your screen with information about the
CPU and how it is being used
Apps options
24. “Don’t keep activities” - destroys every activity as the user leaves it (if enabled, going to background
will destroy current app activity, if disabled - app will run in background) - In other words Android will destroy
and activity as soon as it’s stopped. We can simulate the case that Android will kill an activity in the background
due to memory pressure
25. “Background process limit” - limiting number of process which can run in background (may be
useful when testing apps on slow devices)
26. “Show all ANRs” - displays all “application not responding” dialogs while using the device
Allow mock location option (How to set)
1. Enable “Allow mock location” option in developer options
2. Install app like “Fake GPS location” or similar
3. In the installed app set desired location
4. Use your mocked location in browser web-site or in app
Android SDK tools
- Android Device Monitor:
- DDMS - tool to debug android applications
- Hierarchy Viewer - detailed displaying of app views, layouts
- PixelPerfect - comparing implemented app design with target design
- Retrieving data from device (SQL, SharedPreferences)
- Using AdbRun
- UiAutomatorViewer
- Displaying application view, layouts with resource identifiers
- Android Monkey
- Simple automation tool for light smoke run (useful to increase crash-free users)
ADB commands
- adb install C:package.apk – Installs the package located at C:package.apk on your computer on your
device.
- adb uninstall package.name – Uninstalls the package with package.name from your device.
- adb push C:file /sdcard/file – Pushes a file from your computer to your device. For example, the
command here pushes the file located at C:file on your computer to /sdcard/file on your device
- adb pull /sdcard/file C:file – Pulls a file from your device to your computer – works like adb push, but in
reverse.
- adb logcat - views android device logs
- Running scripts
Android monkey - basic usage
- adb shell monkey [options] <event-count>
- adb shell monkey -p your.package.name -v 500
- --help - prints a simple usage guide.
- --throttle <milliseconds> - inserts a fixed delay between events. You can use this
option to slow down the Monkey
- -p <allowed-package-name> - if you specify one or more packages this way, the
Monkey will only allow the system to visit activities within those packages.
Other interesting tools
- “Spare parts” and it’s possibilities:
- Enable/Disable compatibility mode to allow Apps to work at full screen size on Galaxy Tab and other large screen devices
- Control windows animation speeds or disable them entirely to speed up your device!
- No annoying AdMob adverts
Developer options - top list features
● Allow mock locations
● Don’t keep activities
● Show layout bounds
● Show touches
Short overview of tools & libs used by Good&Co android developers
1. Lint - tool for syntax checking
2. DDMS
3. Cobertura - tool for Code Coverage
Thanks for watching & Your questions

More Related Content

Similar to Android Developer Options & SDK Tools Overview

Android tools for testers
Android tools for testersAndroid tools for testers
Android tools for testersMaksim Kovalev
 
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsPositive Hack Days
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game developmentWomen In Digital
 
Bm 170-android-2.1 r2e
Bm 170-android-2.1 r2eBm 170-android-2.1 r2e
Bm 170-android-2.1 r2edundunlost
 
Android studio
Android studioAndroid studio
Android studioAndri Yabu
 
3 getting to know the android tools - en-us
3   getting to know the android tools - en-us3   getting to know the android tools - en-us
3 getting to know the android tools - en-usJuarez Junior
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureVijay Rastogi
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32Eden Shochat
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...SoftServe
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better PerformanceElif Boncuk
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspectiveGunjan Kumar
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...GoIT
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulatorguru472
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulatorTran Le Hoan
 
Phonegap Development & Debugging
Phonegap Development & DebuggingPhonegap Development & Debugging
Phonegap Development & DebuggingIvano Malavolta
 
Mobile App Security Testing
Mobile App Security TestingMobile App Security Testing
Mobile App Security TestingSarwar Jahan M
 

Similar to Android Developer Options & SDK Tools Overview (20)

Android tools for testers
Android tools for testersAndroid tools for testers
Android tools for testers
 
Manish Chasta - Securing Android Applications
Manish Chasta - Securing Android ApplicationsManish Chasta - Securing Android Applications
Manish Chasta - Securing Android Applications
 
Android tutorial1
Android tutorial1Android tutorial1
Android tutorial1
 
Mobile application and Game development
Mobile application and Game developmentMobile application and Game development
Mobile application and Game development
 
Bm 170-android-2.1 r2e
Bm 170-android-2.1 r2eBm 170-android-2.1 r2e
Bm 170-android-2.1 r2e
 
Android studio
Android studioAndroid studio
Android studio
 
3 getting to know the android tools - en-us
3   getting to know the android tools - en-us3   getting to know the android tools - en-us
3 getting to know the android tools - en-us
 
Android App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structureAndroid App development and test environment, Understaing android app structure
Android App development and test environment, Understaing android app structure
 
Android 101 Session @thejunction32
Android 101 Session @thejunction32Android 101 Session @thejunction32
Android 101 Session @thejunction32
 
Appium- part 1
Appium- part 1Appium- part 1
Appium- part 1
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better Performance
 
Getting started with android dev and test perspective
Getting started with android   dev and test perspectiveGetting started with android   dev and test perspective
Getting started with android dev and test perspective
 
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulator
 
Android in ubuntu
Android in ubuntuAndroid in ubuntu
Android in ubuntu
 
Android chapter02-setup2-emulator
Android chapter02-setup2-emulatorAndroid chapter02-setup2-emulator
Android chapter02-setup2-emulator
 
Phonegap Development & Debugging
Phonegap Development & DebuggingPhonegap Development & Debugging
Phonegap Development & Debugging
 
Android zensar
Android zensarAndroid zensar
Android zensar
 
Mobile App Security Testing
Mobile App Security TestingMobile App Security Testing
Mobile App Security Testing
 

More from TechMagic

K is for Kotlin
K is for KotlinK is for Kotlin
K is for KotlinTechMagic
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.jsTechMagic
 
Android notifications. testing guideline
Android notifications. testing guidelineAndroid notifications. testing guideline
Android notifications. testing guidelineTechMagic
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?TechMagic
 
Getting started with Stripe
Getting started with StripeGetting started with Stripe
Getting started with StripeTechMagic
 
Tips and Tricks for email communication with customer
Tips and Tricks for email communication with customerTips and Tricks for email communication with customer
Tips and Tricks for email communication with customerTechMagic
 
Test Driven Development in Node.js apps
Test Driven Development in Node.js appsTest Driven Development in Node.js apps
Test Driven Development in Node.js appsTechMagic
 
OS X Server as CI for iOS
OS X Server as CI for iOSOS X Server as CI for iOS
OS X Server as CI for iOSTechMagic
 
TechMagic - Development Studio for Startups (iOS, Android, Node.js)
TechMagic - Development Studio for Startups (iOS, Android, Node.js)TechMagic - Development Studio for Startups (iOS, Android, Node.js)
TechMagic - Development Studio for Startups (iOS, Android, Node.js)TechMagic
 

More from TechMagic (9)

K is for Kotlin
K is for KotlinK is for Kotlin
K is for Kotlin
 
Intro to vue.js
Intro to vue.jsIntro to vue.js
Intro to vue.js
 
Android notifications. testing guideline
Android notifications. testing guidelineAndroid notifications. testing guideline
Android notifications. testing guideline
 
Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?Angular 2 vs React. What to chose in 2017?
Angular 2 vs React. What to chose in 2017?
 
Getting started with Stripe
Getting started with StripeGetting started with Stripe
Getting started with Stripe
 
Tips and Tricks for email communication with customer
Tips and Tricks for email communication with customerTips and Tricks for email communication with customer
Tips and Tricks for email communication with customer
 
Test Driven Development in Node.js apps
Test Driven Development in Node.js appsTest Driven Development in Node.js apps
Test Driven Development in Node.js apps
 
OS X Server as CI for iOS
OS X Server as CI for iOSOS X Server as CI for iOS
OS X Server as CI for iOS
 
TechMagic - Development Studio for Startups (iOS, Android, Node.js)
TechMagic - Development Studio for Startups (iOS, Android, Node.js)TechMagic - Development Studio for Startups (iOS, Android, Node.js)
TechMagic - Development Studio for Startups (iOS, Android, Node.js)
 

Recently uploaded

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 

Recently uploaded (20)

Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 

Android Developer Options & SDK Tools Overview

  • 1. Android developer options & Android SDK tools (for QA)
  • 2. Agenda 1. Overview of the “android developer tools” 2. Overview of the “android sdk tools” 3. Developer tools - top list features 4. Short overview of tools & libs used by Good&Co android developers
  • 3. Developer options - How to install* 1. Go to the settings menu, scroll down to “About phone” and tap it. 2. Scroll down to the bottom again, where you see “Build number” 3. Tap it seven times. After the third tap, you will see a dialog that says: “you’re four taps away from being a developer”. Keep on tapping until you have got your special setting appear. Note: it’s hidden by default starting from android 4. 2
  • 4. Android developer options structure ● Debugging options ● Input options ● Drawing / hardware accelerated rendering options ● Monitoring options ● Apps options
  • 5. Debugging options 1. “USB debugging” - connecting device via usb. 2. “Take bug report / Bug report option” - collection info with logs about device state with sending e-mail message. 3. “Desktop backup password” - allows to use ADB to backup and restore things like apps and their associated data to and from your computer 4. “Stay awake / Always stay awake” - screen will never sleep while charging 5. “HDCP checking” - protecting files, which are shared via Wi-Fi, Bluetooth, etc. 6. “Enable Bluetooth HCI snoop log” - logging every transmitted file via bluetooth 7. “Process Stats” - monitoring app usage statistics 8. “Allow Mock Location” - forcing user location using GPS and 3-rd party resources 9. “Select debug app” - setting lets you choose an application to debug.
  • 6. Debugging options 10. “Verify apps via USB” - lets Android scan applications you installed via ADB for malicious behavior. 11. “Enable Wi-Fi verbose logging” - logging more information as usual (slows down device performance) 12. “Wi-Fi to Cellular handover“- appropriate switching to wi-fi mode in case of slow cellular connection and back again
  • 7. Input options 13. “Show touches” - displaying finger touches on the display (useful while screen-recording) 14. “Pointer Location” - this setting places an information bar at the top of your screen telling you the screen coordinates of the last place the screen was touched.
  • 8.
  • 9. Drawing options 15. “Surface update” - makes the edge of a "window" flash when its contents are updated. 16. “Show layout bounds” - marks the edges of all the elements in a dialog so you know where any touch will activate them. 17. “Force RTL direction” - forces screen orientation for right to left language support. 18. “Window animation scale” - sets the speed for window animation. A lower number is faster. 19. “Simulate secondary displays” - this setting allows us to simulate different screen sizes.
  • 10.
  • 11. Drawing / Hardware accelerated rendering options 20. “Show hardware layers updates” - displaying screen flashes when device updates surface (useful when developing widgets) 21. “Debug GPU overdraw” - overdraw happens every time the application asks the system to draw something on top of something else. This setting lets you see when and where this is happening so you know if it is a problem.
  • 12. Monitoring options 22. “Strict mode enabled” - this setting flashes the screen when an application uses the main thread to perform long, intensive operations. 23. “Show CPU usage” - places a window in the upper right of your screen with information about the CPU and how it is being used
  • 13. Apps options 24. “Don’t keep activities” - destroys every activity as the user leaves it (if enabled, going to background will destroy current app activity, if disabled - app will run in background) - In other words Android will destroy and activity as soon as it’s stopped. We can simulate the case that Android will kill an activity in the background due to memory pressure 25. “Background process limit” - limiting number of process which can run in background (may be useful when testing apps on slow devices) 26. “Show all ANRs” - displays all “application not responding” dialogs while using the device
  • 14. Allow mock location option (How to set) 1. Enable “Allow mock location” option in developer options 2. Install app like “Fake GPS location” or similar 3. In the installed app set desired location 4. Use your mocked location in browser web-site or in app
  • 15. Android SDK tools - Android Device Monitor: - DDMS - tool to debug android applications - Hierarchy Viewer - detailed displaying of app views, layouts - PixelPerfect - comparing implemented app design with target design - Retrieving data from device (SQL, SharedPreferences) - Using AdbRun - UiAutomatorViewer - Displaying application view, layouts with resource identifiers - Android Monkey - Simple automation tool for light smoke run (useful to increase crash-free users)
  • 16.
  • 17.
  • 18.
  • 19. ADB commands - adb install C:package.apk – Installs the package located at C:package.apk on your computer on your device. - adb uninstall package.name – Uninstalls the package with package.name from your device. - adb push C:file /sdcard/file – Pushes a file from your computer to your device. For example, the command here pushes the file located at C:file on your computer to /sdcard/file on your device - adb pull /sdcard/file C:file – Pulls a file from your device to your computer – works like adb push, but in reverse. - adb logcat - views android device logs - Running scripts
  • 20. Android monkey - basic usage - adb shell monkey [options] <event-count> - adb shell monkey -p your.package.name -v 500 - --help - prints a simple usage guide. - --throttle <milliseconds> - inserts a fixed delay between events. You can use this option to slow down the Monkey - -p <allowed-package-name> - if you specify one or more packages this way, the Monkey will only allow the system to visit activities within those packages.
  • 21. Other interesting tools - “Spare parts” and it’s possibilities: - Enable/Disable compatibility mode to allow Apps to work at full screen size on Galaxy Tab and other large screen devices - Control windows animation speeds or disable them entirely to speed up your device! - No annoying AdMob adverts
  • 22. Developer options - top list features ● Allow mock locations ● Don’t keep activities ● Show layout bounds ● Show touches
  • 23. Short overview of tools & libs used by Good&Co android developers 1. Lint - tool for syntax checking 2. DDMS 3. Cobertura - tool for Code Coverage
  • 24. Thanks for watching & Your questions