Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


AnDevCon V - Developer Tools Essentials, Part II Advanced

To be presented at AnDevCon V in Boston, MA

Mike Wolfson

on 29 May 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of AnDevCon V - Developer Tools Essentials, Part II Advanced

Developer Tools Essentials, Part II Advanced Mike Wolfson

Boston, MA
May 29, 2013 Introduction About the Tools Essentials Tuning & Performance Emulator DDMS Create AVD Android Virtual Device
"Device Definitions"
Will also be available in Visual Layout Editor
Repo available: https://github.com/mwolfson/AndroidAVDRepo
.android folder (images for initial configuration, SD card\data; snapshots) - set ANDROID_HOME to change
Option: Use Host GPU
Snapshots Asset Studio Effecient UI Monkey
LayoutOpt tool
System Trace
UI Automator http://developer.android.com/guide/developing/devices/emulator.html Developer Tools
Hierarchy Viewer
Visual Layout Editor
Open GL Tracer + = Easier Graphics Memory User Interface DEMO DEMO http://developer.android.com/guide/developing/debugging/debugging-ui.html Dalvik Debug Monitor Service Task Management
File Management
Device Info
Emulator Control
Application Statistics Threads
Allocation Tracker
Emulator Control Important Tools About Me Other Tools Lint Static Analysis
Customizable Rulesets
Build-time checking More Agenda Introduction
Memory Profiling
User Interface Optimization
Other Tools Questions? @mikewolfson
Fill out evaluation please! New Emulator creation flow in ADT 21 - "Device Definitions" HAXM - Intel Hardware Accelerated Execution Manager Setting Up HAXM - Windows and Mac only -
1. Download and Install HAXM Driver
2. Install Android Platform (API 15 or 16 )
3. Install "Intel x86 Atom System Image"
4. Create compatible emulator
5. Enjoy a speedier emulator

Eclipse not required
Hierarchy Viewer
Open GL Tracer Device Monitor Dev Tools Tools targeted towards testing physical devices Show UI details (touch events, etc)
Highlight UI events (Surface Updates, Overdraw, etc )
Show Hardware details (CPU, GPU info) Hierarchy Viewer Flatten UI Hierarchy
Export Views to PSD
One layer per View element
Identify views that take long time to render Displays tree of View structure of your UI Visual Layout Editor Drag and Drop Widgets
Supports wide range of components (including custom classes & libs)
Multi-configuration editing
Preview multiple screen sizes\orientations\locales Open GL Tracer Capture OpenGL ES commands and images to help you understand how your graphics commands are being executed. Works same on Native of Java Bindings
Easily navigate through details of your Open GL calls:
See all shaders, textures, images, etc for each call Droid Of The Day - DOTD http://tools.android.com Version Current: 22.0.1 "The Developer Tools for Android are being developed entirely in the open and is accepting contributions." Frequent updates available:
Tools website
SDK Manager
Tools (Preview Channel) Downloads
Release stats
Roadmap Technical Docs
Build Instructions
Bug Tracker http://groups.google.com/group/adt-dev https://android.googlesource.com/platform/sdk Work directly in AOSP
Independent of Android SDK Website Debug Into Source It is useful to be able to debug directly into the Android Source Code Download Source via SDK Manager
Install Plugin
http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/ Gradle Future Build Tool (ant deprecated)
Build Types
Export Gradle build from ADT 22+ main/ - standard Android Project files
aidl/ - ex. my_interface.aidl
assets/ - ex. database_preload.db
java/ - ex. com.project.SomeActivity
jni/ - ex. jni_file.c
res/ - ic_launcher.png, main_layout.xml, strings.xml
instrumentTest/ - project files specific to 'test' flavor (AndroidManifest.xml, java, res, jni, etc - when appropriate)
AndroidManifest.xml- not needed, this is created automatically
java/ ex. com.project.SomeActivityTest
debug/ - project files specific to 'debug' flavor (AndroidManifest.xml, Java, res, jni, etc - when appropriate)
java/ - ex. com.project.VerboseLogUtil (logging outputs more details we only want in debug more)
release/ project files specific to 'release' flavor (AndroidManifest.xml, Java, res, jni, etc - when appropriate)
AndroidManifest.xml - customizations for API keys, or enabling\disabling Activities specific to production
aidl/ - ex. my_interface.aidl (containing interface customizations relevant to production)
assets/ - ex. database_preload.db (containing different data relevant to production)
java/ - ex. com.Project.SomeActivity (a different Activity for Production)
res/ - ic_launcher.png (different Icon for release build)
flavor1/ - project files specific to 'flavor1' flavor (AndroidManifest.xml, Java, res, jni, etc - when appropriate)
AndroidManifest.xml - ex. manifest entry for Flavor1Activity.class
jni/ - ex. jni_file.c (interface code particular to flavor1 target environment)
res/ -ex. ic_launcher.png (different Icon for flavor1 build); main_layout.xml or strings.xml - customized for target environment
java/ - ex. an Activity only used in this variant - Flavor1Activity.java
Full transcript