Jake Wharton

Increased accuracy of aapt2 "keep" rules

The aapt2 tool packages Android application resources but also generates “keep” rules for ProGuard or R8. Starting with AGP 3.3.0-alpha05 the rules allow more unused code to be removed from your release APK.

07 August 2018

Tracing Gradle task execution

Using Java Flight Recorder and Chrome traces as alternatives to --profile and --scan for gaining insight into your Gradle builds when running locally and on CI.

01 August 2018

Forcing bytes downward in Okio

A comparison and guide to using Okio’s three different methods to ensure bytes are written to the underlying sink: emitCompleteSegments(), emit(), and flush().

06 September 2016

Just Say mNo to Hungarian Notation

Hungarian notation is a plague on Android development. Its proliferation is nothing more than a misinterpretation and justification an erroneous copy/paste.

21 January 2016

Java Interoperability Policy for Major Version Updates

New major versions of libraries usually bring with it breaking changes in the form of big improvements. This is great for new users, but a hassle for existing clients. This is a new policy to make things suitable for both parties.

11 December 2015

The Conference Speaker Investment

Speaking at conferences is an investment of speakers in time, energy, and knowledge. The quality of a presentation and of the conference itself can be measured in the amount of investment made. Here are my tips for future conference speakers.

20 November 2014

Coercing Picasso To Play With Palette

Palette is a fantastic addition to the support library suite. Unfortunately Picasso doesn’t have any obvious places to wire it in. Thankfully all it takes is a bit of creativity with its existing APIs.

24 October 2014

Play Services 5.0 Is A Monolith Abomination

Monolithic libraries are rarely the answer and when abused cause much more harm than small, module artifacts. Most people think of Guava, but there’s a new kid on the block who’s twice as bad.

03 July 2014

Android Needs A Simulator, Not An Emulator

The emulator quality is terrible, the AVD manager is weak, and third-party solutions like Genymotion are mediocre at best. Developers need an Android simulator.

16 June 2014

Deprecated From Inception

Despite being designed to normalize the action bar API and theming across all modern versions of Android, the library has been deprecated from day one.

01 October 2012

The Android Build System Is Broken

As the complexity of Android projects increase, tolerance for the build system goes to zero.

22 July 2012

Announcing ActionBarSherlock Version 4.0

After months of development and amazing feedback from developers the first official release of version 4 is available.

07 March 2012

Advanced Pre-Honeycomb Animation with NineOldAndroids

Translation, scale, and other transformations were introduced in Honeycomb but can still be easily used on previous platforms.

18 January 2012

Something Beta This Way Comes!

The ActionBarSherlock 4.0 betas are here. Go break things!

02 January 2012

ActionBarSherlock - A Love Story (Part 3)

ActionBarSherlock is dead. Long live ActionBarSherlock.

01 January 2012

ActionBarSherlock - A Love Story (Part 2)

ActionBarSherlock is currently sitting right smack in the middle of the third major version with development on the fourth underway.

19 December 2011

ActionBarSherlock - A Love Story (Part 1)

I have never formally introduced ActionBarSherlock in a blog post.

01 December 2011