- Use “Instant Run” whenever possible: https://developer.android.com/studio/run/index.html#instant-run
- Genymotion is a fast emulator: https://www.genymotion.com/
https://developer.android.com/studio/write/annotations.html
- Nullness
- VisibleForTesting
- Dependency injection
- Static stuff is hard to mock (unless you use https://github.com/powermock/powermock)
- Use DI to pass in mock objects for testing
- Dagger2 is likely the best: http://jakewharton.com/dependency-injection-with-dagger-2/
- Assertion helpers
- “produces an output which allows you to immediately recognize the problem”
- https://github.com/square/assertj-android
- Strict mode for catching some anti patterns
- Proguard for shrinking APK size
- See https://medium.com/google-developers/developing-for-android-ix-tools-375134af1098#.q5uyoyxc6
- Butterknife: http://jakewharton.github.io/butterknife/
- Retrofit: http://square.github.io/retrofit/
- https://medium.com/google-developers/developing-for-android-introduction-5345b451567c#.75vzj84d1
- Solid intro to mobile and android. All the articles are super useful
- http://jakewharton.com/presentations/
- Useful talks about different libraries
- https://github.com/futurice/android-best-practices
- Collection of helpful tips