Android Developer Toolbox - Notes
- Create different build variants which contain different code of your app
- Internal - for the company. Embed a lot of tools to locate issues easily.
- Production - only for customers
A demonstration of integration of different libraries. Read the source code.
The iosched app contains a separate debug screen which is visible only in the internal build.
Check the mobilization-2016 app for more details.
Use the monitor tab built in the Android Studio to track different measurements of your app - Cache, network, CPU, GPU etc.
Use the memory profiler to track memory leaks by making HRPOF dumps.
Detect memory leaks which happen in your app.
See what is the frame rate of your app.
Log how much time your methods execution take by using annotations.
Use Pidcat to print the logs of your app. Easy to install and good design.
Track the time needed for dependencies to be provided using Dagger.
More focused on the Java code than Android Lint.
Continuous integration server. Tells you things like technical debt in days, count of code smells, tests coverage etc.
Error Prone (Google)
Infer (Facebook)
Use to return fake HTTP responses so testing can easily be done.
Associate a domain name to a different IP.
Has debugging options with the option to replace values directly into the received response. Works great with Android. You can also simulate slow connection and repeat queries.
Option in the Developer options.
Fills the RAM of your phone and the system begins clearing the available apps and later restores them. It is a good tool for QAs.
You can minimize your app by clicking the home button and the stop the process from the device monitor. Then the system will recreate the activities.
See layout positions and marign
Check the view hierarchy you have and optimize it.
Slow the animations in your app
Make a screencast, open VLC and use the letter "E" to view the transition frame per frame.
Browse directly the view hieararchy and pick views by ids.
Decompile APK and check its source code.
Connect the phone to the PC and check the view hierarchy on the Chrome browser.
Check the requests that happen and the responses received.
Communicate with your app through terminal. You can display the content of the received response, the alarm manager scheduled intents etc.