Slide 1

Slide 1 text

Android dev 
 tools & workflows Saúl Molinero @_saulmm

Slide 2

Slide 2 text

Vigo, Galicia Saúl Molinero Saúl Molinero @_saulmm @_saulmm

Slide 3

Slide 3 text

GDG, @_saulmm

Slide 4

Slide 4 text

Runtime tools Runtime tools @_saulmm

Slide 5

Slide 5 text

Pidcat Pleasant output // Breaks by process 
 start/end CLI arguments // Filter by package, 
 tags and more https://github.com/JakeWharton/pidcat

Slide 6

Slide 6 text

@_saulmm https://github.com/Genymobile/scrcpy APK dragger Drag & drop apks to install Video recorder scrcpy --record file.mp4 Move files drag files to the viewer 
 to store them in device’s 
 /sdcard/ SCRPY

Slide 7

Slide 7 text

Stetho Database inspector Preferences inspector Network inspector View hierarchy http://facebook.github.io/stetho/

Slide 8

Slide 8 text

Flipper Logcat Crash reporter leak canary plugin iOS compatible Standalone app Easy to extend https://fbflipper.com/

Slide 9

Slide 9 text

cpu CPU profiler
 A. Studio Tracks the input Tracks 
 lifecycles Profile times

Slide 10

Slide 10 text

cpu Network prf.
 A. Studio Analises
 how much 
 data is 
 sent /received Analises 
 requests @_saulmm

Slide 11

Slide 11 text

cpu Memory prf.
 A. Studio Analise
 memory change 
 patterns Dump the memory
 on a given range @_saulmm

Slide 12

Slide 12 text

GPU Rendering @_saulmm

Slide 13

Slide 13 text

@_saulmm Destroy activities Show layout bounds

Slide 14

Slide 14 text

Overdraw Good Improvable @_saulmm https://developer.android.com/studio/profile/inspect-gpu-rendering

Slide 15

Slide 15 text

cpu Emulator 
 snapshots https://developer.android.com/studio/run/emulator $ emulator @Nexus5 
 -snapshot db_v13 @_saulmm

Slide 16

Slide 16 text

cpu Emulator 
 screen record as gif @_saulmm

Slide 17

Slide 17 text

cpu A. S. Layout Inspector @_saulmm cmd + a ‘Layout inspector’

Slide 18

Slide 18 text

Intellij Plugins: ADB idea uninstall clear app and restart kill app revoke permissions start app with debugger @_saulmm https://plugins.jetbrains.com/plugin/7380-adb-idea

Slide 19

Slide 19 text

Passive tools @_saulmm

Slide 20

Slide 20 text

Intellij Plugins: Presentation 
 assistant @_saulmm https://plugins.jetbrains.com/plugin/7345-presentation-assistant

Slide 21

Slide 21 text

Intellij Plugins: Nyan cat @_saulmm https://plugins.jetbrains.com/plugin/8575-nyan-progress-bar

Slide 22

Slide 22 text

Track your projects Track your versions on
 jetbrains software Minor settings Jetbrains toolbox @_saulmm

Slide 23

Slide 23 text

Track your API Shared across teams Multiple environments Postman @_saulmm Automation scripts https://www.getpostman.com/

Slide 24

Slide 24 text

cpu Command line Autojump Autosuggestions https://github.com/zsh-users/zsh-autosuggestions https://github.com/wting/autojump iTerm2 Oh my zsh @_saulmm

Slide 25

Slide 25 text

Trouble shooting @_saulmm

Slide 26

Slide 26 text

Firebase 
 Remote Lab. @_saulmm

Slide 27

Slide 27 text

Lifecycle // Log activity / fragment events, know what was the path made by the user Weird response codes from the API // Log the OkHttp requests. which have returned an status code >= 300 Crashlytics Background jobs & their results // Log what were the results of the different background jobs executed and their names Analytics // Log the events sent to the different analytics services

Slide 28

Slide 28 text

Crashlytics Data User id interesting data from the affected user for further investigation

Slide 29

Slide 29 text

Activity // The activity shown when at the crash
 moment Heap state // Free and Max memory Crashlytics Report keys Settable via Crashlytics.setString(key, value)

Slide 30

Slide 30 text

Samsung Remote Lab

Slide 31

Slide 31 text

Samsung Remote Lab

Slide 32

Slide 32 text

Code reviews, git, workflow
 and pull requests @_saulmm

Slide 33

Slide 33 text

Detekt @_saulmm

Slide 34

Slide 34 text

Bitrise @_saulmm

Slide 35

Slide 35 text

@_saulmm Github As an author - I told how to test and the key parts 
 to review - I made all checks to pass,
 validators & CIs As a reviewer - As I comment what can be improved
 I comment what is well done - Our goal is to provide value and learn - I’ll put gifs Code reviews

Slide 36

Slide 36 text

@_saulmm priority low, or high title validator starts with feature/ bug/ description validator #fixes #closes an issue Pull Request validator Code reviews assignee and reviewer at least one

Slide 37

Slide 37 text

Github labels priority Can’t this PR wait for review? status: Why is this PR stuck? type: feature, bug, refactoring
 enhancement…

Slide 38

Slide 38 text

Open on Github cmd + A ‘Open on Github’ // Reference code with ease from A.S / IntelliJ status: {waiting for design, translations} // Why is this PR stuck? type: {feature, bug, refactoring} // What’s the outcome of this PR? @_saulmm

Slide 39

Slide 39 text

cpu Our git flow feature branches develop & master https://danielkummer.github.io/git-flow-cheatsheet https://nvie.com/posts/a-successful-git-branching-model/ release & hotfix branches

Slide 40

Slide 40 text

$ git town hack // Creates an up to date
 branch from main $ git town sync // Updates ongoing branch with 
 main ongoing changes and push $ git town new-pull-request // Pushes latest changes and creates 
 a pull request git town @_saulmm

Slide 41

Slide 41 text

Fork @_saulmm

Slide 42

Slide 42 text

Thanks! @_saulmm

Slide 43

Slide 43 text

Resource management
 and design tools @_saulmm

Slide 44

Slide 44 text

IconJar @_saulmm

Slide 45

Slide 45 text

Abstract @_saulmm

Slide 46

Slide 46 text

gallery.io @_saulmm

Slide 47

Slide 47 text

svgomg @_saulmm

Slide 48

Slide 48 text

shapeshifter.design @_saulmm #greach

Slide 49

Slide 49 text

sketch @_saulmm #greach

Slide 50

Slide 50 text

name that color @_saulmm #greach