SlideShare a Scribd company logo
 
W4
Session	
  
4/15/2015	
  11:00	
  AM	
  
	
  
	
  
	
  
"Mastering Android
Development Tools"
	
  
Presented by:
Luke Wallace
Bottle Rocket	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
Brought	
  to	
  you	
  by:	
  
	
  
	
  
	
  
340	
  Corporate	
  Way,	
  Suite	
  300,	
  Orange	
  Park,	
  FL	
  32073	
  
888-­‐268-­‐8770	
  ·∙	
  904-­‐278-­‐0524	
  ·∙	
  sqeinfo@sqe.com	
  ·∙	
  www.sqe.com
Luke Wallace
Bottle Rocket
Luke Wallace leads all Android development at Bottle Rocket. Luke wrote
several of the first Android apps for Bottle Rocket and continues to oversee every
project to maintain quality and push the bounds of what’s possible. A strong
proponent of the Android platform, he is an invaluable resource for getting the
Android perspective on news and trends within the industry. With his technical
knowledge and humor, Luke loves educating people about Android.	
  
4/8/15	

1	

Mastering Android
Development Tools
Luke Wallace
@lukeluca
Introduction
4/8/15	

2	

Some of our Android Apps
Agenda
•  Storing Code
•  Writing Code
•  Using Libraries
•  Checking Code
•  Building Code
•  Testing Code
•  Deploying Code
4/8/15	

3	

What’s the point?
BUT!	

ShakespeareMichelangelo
Use Good Tools
•  Stuff You Know
•  Eclipse
•  Android Studio
•  9-Patch Generator
•  Lint Rules
•  Don’t use a typewriter to paint
4/8/15	

4	

Store code
•  Bitbucket
•  Cloud-based Git repository
•  Team-based Access Control
•  Cheap
Git branches
4/8/15	

5	

Git branches - git flow
origin/develop
(progress builds)
origin/release/1.0
origin/release/1.1
[origin/]feature/x
Writing Code - Eclipse
•  Traditional method of Android development
•  Windows, Mac, and Linux support
•  Lots of existing support
•  XML layout support is okay, better than v1.0
•  Old and Busted now
•  No further development
•  Dev site says to stop using it now!
4/8/15	

6	

Writing Code - Android Studio
•  New Standard
- reached 1.0 late 2014
•  Still in heavy development
•  Migration is getting easier
•  We’re using it on new
projects, and migrating
old projects too it as time
permits.
Checking Code - Lint
•  Command Line tool
•  Part of Android Developer Tools
•  Lots of support from the Android team
•  Our rule: No Warnings!
4/8/15	

7	

Custom Lint Rules
•  Little Documentation
•  Lots of setup (for the first one)
•  Few examples (beyond the built in ones)
•  android.googlesource.com/platform/sdk/
[build]/lint/libs/lint_checks/src/
•  Codify your internal rules
•  Tip: 3-line Custom Manifest
Libraries
•  Android Support Library
•  ViewPager
•  DrawerLayout
•  ActionBarSherlock ActionBarCompat
•  Square Libraries (OkHttp, Picasso, etc.)
•  Ion, Volley, etc.
•  Home Grown (BRShared)
4/8/15	

8	

Analyze
•  Charles
•  HTTP proxy - analyze requests & responses
•  supports HTTPS with some additional effort
Analyze
•  Hierarchy Viewer
4/8/15	

9	

One Weird Trick!
Add ViewServer to use Hierarchy Viewer on real
devices!
Continuous Integration
•  Jenkins
•  Every 15 minutes (random per project)
•  Check for new code
•  Build (using Ant or gradle)
•  DO IT!
4/8/15	

10	

Jenkins - Multiple Builds
•  Debug
•  Release
•  Staging Servers
•  Free
•  Paid
•  Amazon Appstore
•  Google Play
Jenkins - Multiple Builds
•  use your build.xml to change config URL or
other parameters at build time.
<property environment="env"/>	
<target name="preprocess-build-number" if="env.BUILD_NUMBER">	
<echo>Setting build number: ${env.BUILD_NUMBER}</echo>	
<replaceregexp 	
file="res/values/build_config.xml"	
match="build_number&quot;&gt;.*?&lt;"	
replace="build_number&quot;&gt;${env.BUILD_NUMBER}&lt;"	
/>	
</target>
4/8/15	

11	

Jenkins - Multiple Builds
•  use your build.xml to change config URL or
other parameters at build time.
<target name="preprocess-release" if="build.target.release">	
<echo>Configuring build_config.xml for a release build</echo> 	
<replaceregexp 	
file="res/values/build_config.xml" 	
match="version_name&quot;&gt;.*?&lt;" 	
replace="version_name&quot;&gt;@string/version_name_production&lt;"	
/>	
</target>	
Jenkins - Multiple Builds
•  Gradle build system makes this easier
4/8/15	

12	

Jenkins + Lint
Automated Testing
•  We have it, barely
•  JUnit + Android extensions
•  AndroidTestCase
•  monkeyrunner
•  Robolectric
4/8/15	

13	

Real Devices
Automatic Crash Collection
ACRA - Application Crash Reporting for Android
•  http://acra.ch
•  Sends crashes to Google Docs
•  Can send reports directly to your backend, or
several hosted options.
4/8/15	

14	

Emulators
•  Google Provided Emulator
•  x86
•  Genymotion - $$$ for commercial use
Google Play Dev Portal
Alpha - Beta - Production %
Get Optimization Tips
Analyze common devices
Respond to Reviews
4/8/15	

15	

Google Play Dev Portal
Google Play Dev Portal
User Statistics
4/8/15	

16	

Google Play Dev Portal
Google Play Dev Portal
4/8/15	

17	

Google Play Dev Portal
Reviews
Questions?

More Related Content

What's hot (6)

PDF
Creating an Open Source Office: Lessons from Twitter
Chris Aniszczyk
 
PPTX
MVP Showcase 2015 - Entity Framework 7 - NoORM
Ricardo Peres
 
PDF
So You Want to be an OpenStack Contributor
Anne Gentle
 
PPTX
WordPress Under Control
Matt Bernhardt
 
PPTX
Build mini - Windows 10 Dev & Cross platform Dev
Ian Chen
 
PPSX
Hacker's Practice Ground - CarolinaCon - 2015
lokeshpidawekar
 
Creating an Open Source Office: Lessons from Twitter
Chris Aniszczyk
 
MVP Showcase 2015 - Entity Framework 7 - NoORM
Ricardo Peres
 
So You Want to be an OpenStack Contributor
Anne Gentle
 
WordPress Under Control
Matt Bernhardt
 
Build mini - Windows 10 Dev & Cross platform Dev
Ian Chen
 
Hacker's Practice Ground - CarolinaCon - 2015
lokeshpidawekar
 

Viewers also liked (17)

PDF
The Survey Says: Testers Spend Their Time Doing...
TechWell
 
PDF
Requirements and Acceptance Tests: Yes, They Go Together
TechWell
 
PDF
Extreme Agile: Managing Fully-Distributed Teams
TechWell
 
PDF
Reduce Test Automation Execution Time by 80%
TechWell
 
PDF
Lean Test Management: Reduce Waste in Planning, Automation, and Execution
TechWell
 
PDF
Requirements Are Simply Requirements—or Maybe Not
TechWell
 
PDF
Mobile Test Automation with Big Data Analytics
TechWell
 
PDF
Architect a Winning Mobile Application
TechWell
 
PDF
Non-Functional Requirements: Forgotten, Neglected, and Misunderstood
TechWell
 
PDF
Conflict: To Know It Is to Love It
TechWell
 
PDF
The Tester’s Role in Agile Planning
TechWell
 
PDF
If You Could Turn Back Time: Coaching New Testers
TechWell
 
PDF
Integrate V&V within Scrum: How Does That Work?
TechWell
 
PDF
Windows Azure: Connecting the Dots for a Mobile Workforce
TechWell
 
PDF
The Agile Testing Survival Guide
TechWell
 
PDF
Measuring Quality: Testing Metrics and Trends in Practice
TechWell
 
PPTX
Seven Key Metrics to Improve Agile Performance
TechWell
 
The Survey Says: Testers Spend Their Time Doing...
TechWell
 
Requirements and Acceptance Tests: Yes, They Go Together
TechWell
 
Extreme Agile: Managing Fully-Distributed Teams
TechWell
 
Reduce Test Automation Execution Time by 80%
TechWell
 
Lean Test Management: Reduce Waste in Planning, Automation, and Execution
TechWell
 
Requirements Are Simply Requirements—or Maybe Not
TechWell
 
Mobile Test Automation with Big Data Analytics
TechWell
 
Architect a Winning Mobile Application
TechWell
 
Non-Functional Requirements: Forgotten, Neglected, and Misunderstood
TechWell
 
Conflict: To Know It Is to Love It
TechWell
 
The Tester’s Role in Agile Planning
TechWell
 
If You Could Turn Back Time: Coaching New Testers
TechWell
 
Integrate V&V within Scrum: How Does That Work?
TechWell
 
Windows Azure: Connecting the Dots for a Mobile Workforce
TechWell
 
The Agile Testing Survival Guide
TechWell
 
Measuring Quality: Testing Metrics and Trends in Practice
TechWell
 
Seven Key Metrics to Improve Agile Performance
TechWell
 
Ad

Similar to Mastering Android Development Tools (20)

PDF
Tools/Processes for serious android app development
Gaurav Lochan
 
PDF
(Ebook) Android Cookbook by Ian F. Darwin ISBN 9781449374457, 144937445X
limos9telmaum
 
PPT
Industrial Training in Android Application
Arcadian Learning
 
PDF
Starting from scratch in 2017
Stefano Bonetta
 
PPTX
Build Automation in Android
Angelo Rüggeberg
 
PDF
Tools and libraries for common problems (Early Draft)
rc2209
 
PDF
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Daniel Gallego Vico
 
PPT
Android tutorial
Techacademy Software
 
PPT
Android tutorial
Ed Zel
 
PPT
Android tutorial
katayoon_bz
 
PPT
Android tutorial
Keshav Chauhan
 
PPTX
Devoxx jva-sni-en-overview
stephanenicolas
 
PPT
Android
Jesus_Aguirre
 
PPT
Simon Stewart, Facebook engineer - Building Facebook for Android
How to Web
 
PDF
Android Cookbook 2nd [early release] Edition Ian F. Darwin
nedraelzeyda
 
PPT
Android tutorial
Avinash Nandakumar
 
PPT
Android-Tutorial.ppt
siddharthsingh496426
 
PDF
(Ebook) Android Cookbook by Ian F. Darwin ISBN 9781449374457, 144937445X
mandevraday
 
PDF
Android Cookbook Problems And Solutions For Android Developers Darwin
akifabeglin
 
PPTX
Android development orientation for starters v2
Joemarie Amparo
 
Tools/Processes for serious android app development
Gaurav Lochan
 
(Ebook) Android Cookbook by Ian F. Darwin ISBN 9781449374457, 144937445X
limos9telmaum
 
Industrial Training in Android Application
Arcadian Learning
 
Starting from scratch in 2017
Stefano Bonetta
 
Build Automation in Android
Angelo Rüggeberg
 
Tools and libraries for common problems (Early Draft)
rc2209
 
Droidcon Spain 2105 - One app to rule them all: Methodologies, Tools & Tricks...
Daniel Gallego Vico
 
Android tutorial
Techacademy Software
 
Android tutorial
Ed Zel
 
Android tutorial
katayoon_bz
 
Android tutorial
Keshav Chauhan
 
Devoxx jva-sni-en-overview
stephanenicolas
 
Android
Jesus_Aguirre
 
Simon Stewart, Facebook engineer - Building Facebook for Android
How to Web
 
Android Cookbook 2nd [early release] Edition Ian F. Darwin
nedraelzeyda
 
Android tutorial
Avinash Nandakumar
 
Android-Tutorial.ppt
siddharthsingh496426
 
(Ebook) Android Cookbook by Ian F. Darwin ISBN 9781449374457, 144937445X
mandevraday
 
Android Cookbook Problems And Solutions For Android Developers Darwin
akifabeglin
 
Android development orientation for starters v2
Joemarie Amparo
 
Ad

More from TechWell (20)

PDF
Failing and Recovering
TechWell
 
PDF
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
PDF
Test Design for Fully Automated Build Architecture
TechWell
 
PDF
System-Level Test Automation: Ensuring a Good Start
TechWell
 
PDF
Build Your Mobile App Quality and Test Strategy
TechWell
 
PDF
Testing Transformation: The Art and Science for Success
TechWell
 
PDF
Implement BDD with Cucumber and SpecFlow
TechWell
 
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
PDF
Ma 15
TechWell
 
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
PDF
Transform Test Organizations for the New World of DevOps
TechWell
 
PDF
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
PDF
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
PDF
A Business-First Approach to DevOps Implementation
TechWell
 
PDF
Databases in a Continuous Integration/Delivery Process
TechWell
 
PDF
Mobile Testing: What—and What Not—to Automate
TechWell
 
PDF
Cultural Intelligence: A Key Skill for Success
TechWell
 
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

Recently uploaded (20)

PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 

Mastering Android Development Tools

  • 1.   W4 Session   4/15/2015  11:00  AM         "Mastering Android Development Tools"   Presented by: Luke Wallace Bottle Rocket                 Brought  to  you  by:         340  Corporate  Way,  Suite  300,  Orange  Park,  FL  32073   888-­‐268-­‐8770  ·∙  904-­‐278-­‐0524  ·∙  [email protected]  ·∙  www.sqe.com
  • 2. Luke Wallace Bottle Rocket Luke Wallace leads all Android development at Bottle Rocket. Luke wrote several of the first Android apps for Bottle Rocket and continues to oversee every project to maintain quality and push the bounds of what’s possible. A strong proponent of the Android platform, he is an invaluable resource for getting the Android perspective on news and trends within the industry. With his technical knowledge and humor, Luke loves educating people about Android.  
  • 3. 4/8/15 1 Mastering Android Development Tools Luke Wallace @lukeluca Introduction
  • 4. 4/8/15 2 Some of our Android Apps Agenda •  Storing Code •  Writing Code •  Using Libraries •  Checking Code •  Building Code •  Testing Code •  Deploying Code
  • 5. 4/8/15 3 What’s the point? BUT! ShakespeareMichelangelo Use Good Tools •  Stuff You Know •  Eclipse •  Android Studio •  9-Patch Generator •  Lint Rules •  Don’t use a typewriter to paint
  • 6. 4/8/15 4 Store code •  Bitbucket •  Cloud-based Git repository •  Team-based Access Control •  Cheap Git branches
  • 7. 4/8/15 5 Git branches - git flow origin/develop (progress builds) origin/release/1.0 origin/release/1.1 [origin/]feature/x Writing Code - Eclipse •  Traditional method of Android development •  Windows, Mac, and Linux support •  Lots of existing support •  XML layout support is okay, better than v1.0 •  Old and Busted now •  No further development •  Dev site says to stop using it now!
  • 8. 4/8/15 6 Writing Code - Android Studio •  New Standard - reached 1.0 late 2014 •  Still in heavy development •  Migration is getting easier •  We’re using it on new projects, and migrating old projects too it as time permits. Checking Code - Lint •  Command Line tool •  Part of Android Developer Tools •  Lots of support from the Android team •  Our rule: No Warnings!
  • 9. 4/8/15 7 Custom Lint Rules •  Little Documentation •  Lots of setup (for the first one) •  Few examples (beyond the built in ones) •  android.googlesource.com/platform/sdk/ [build]/lint/libs/lint_checks/src/ •  Codify your internal rules •  Tip: 3-line Custom Manifest Libraries •  Android Support Library •  ViewPager •  DrawerLayout •  ActionBarSherlock ActionBarCompat •  Square Libraries (OkHttp, Picasso, etc.) •  Ion, Volley, etc. •  Home Grown (BRShared)
  • 10. 4/8/15 8 Analyze •  Charles •  HTTP proxy - analyze requests & responses •  supports HTTPS with some additional effort Analyze •  Hierarchy Viewer
  • 11. 4/8/15 9 One Weird Trick! Add ViewServer to use Hierarchy Viewer on real devices! Continuous Integration •  Jenkins •  Every 15 minutes (random per project) •  Check for new code •  Build (using Ant or gradle) •  DO IT!
  • 12. 4/8/15 10 Jenkins - Multiple Builds •  Debug •  Release •  Staging Servers •  Free •  Paid •  Amazon Appstore •  Google Play Jenkins - Multiple Builds •  use your build.xml to change config URL or other parameters at build time. <property environment="env"/> <target name="preprocess-build-number" if="env.BUILD_NUMBER"> <echo>Setting build number: ${env.BUILD_NUMBER}</echo> <replaceregexp file="res/values/build_config.xml" match="build_number&quot;&gt;.*?&lt;" replace="build_number&quot;&gt;${env.BUILD_NUMBER}&lt;" /> </target>
  • 13. 4/8/15 11 Jenkins - Multiple Builds •  use your build.xml to change config URL or other parameters at build time. <target name="preprocess-release" if="build.target.release"> <echo>Configuring build_config.xml for a release build</echo> <replaceregexp file="res/values/build_config.xml" match="version_name&quot;&gt;.*?&lt;" replace="version_name&quot;&gt;@string/version_name_production&lt;" /> </target> Jenkins - Multiple Builds •  Gradle build system makes this easier
  • 14. 4/8/15 12 Jenkins + Lint Automated Testing •  We have it, barely •  JUnit + Android extensions •  AndroidTestCase •  monkeyrunner •  Robolectric
  • 15. 4/8/15 13 Real Devices Automatic Crash Collection ACRA - Application Crash Reporting for Android •  http://acra.ch •  Sends crashes to Google Docs •  Can send reports directly to your backend, or several hosted options.
  • 16. 4/8/15 14 Emulators •  Google Provided Emulator •  x86 •  Genymotion - $$$ for commercial use Google Play Dev Portal Alpha - Beta - Production % Get Optimization Tips Analyze common devices Respond to Reviews
  • 17. 4/8/15 15 Google Play Dev Portal Google Play Dev Portal User Statistics
  • 18. 4/8/15 16 Google Play Dev Portal Google Play Dev Portal
  • 19. 4/8/15 17 Google Play Dev Portal Reviews Questions?