In what may be a first, the focus of the Android sessions at a Google I|O conference
were not on a new version of Android. While Android P certainly got its fair
share of coverage, the emphasis clearly was on Jetpack and AndroidX.
On one level, Jetpack and AndroidX are just branding exercises. Jetpack, in
particular, isn’t a thing right now: it is merely a label applied to a semi-random
collection of concepts and libraries that mostly already existed. And those
concepts and libraries reflect Google’s biases (emoji? good! encryption? not so much!).
However, the power of branding cannot be dismissed. Google is likely to heavily
promote the Jetpack brand for the next couple of years, at minimum. Eventually,
Google will kick it to the curb, as they have lots of other brands, but for the time
being, Jetpack is going to “rule the roost” in terms of mindshare.
And, in truth, something like Jetpack is needed. While I disagree with some of
the choices, reducing the mental footprint of Android app development is necessary,
as we approach the 10-year anniversary of Android 1.0. Here, branding becomes
important, in that developers can rely on brand signals to better determine what
knowledge resources are up to date with respect to Google’s prescriptions for
Similarly, while AndroidX does not directly change what is in the suite of libraries,
making a bright-line cutover to a new comprehensive naming-and-numbering scheme
is welcome… though not without some pain.
(and it is a sign of my age that I keep trying to type “ActiveX” for “AndroidX”…)
The pain comes in the conversion.
Google focuses on individual projects, and rightly so. For any given Android
existing app project, Jetpack is not something that you will worry about; Jetpack
mostly will be for new projects and major rebuilds of existing projects. The
pain for existing projects primarily will be in the one-time conversion to the
new AndroidX artifacts and packages. Google seems to be doing a fairly good job
at providing tools for that conversion.
There may be long-term lingering pain
from libraries, as I am skeptical that “Jetifier” will be reliable. Converting
pre-AndroidX references in compiled code into AndroidX references is the sort
of thing that probably can work most of the time but feels fragile. But, once
again, the power of branding plays a role, as I expect “AndroidX-ready” or
of slogans to be used to identify libraries that are ready for use in an AndroidX
The bigger pain stems from our knowledge bases. Books, courses, blog posts,
Stack Overflow answers, and the like do not change on their own. That requires
work. Some of this stuff is unaffected by the Jetpack/AndroidX shift. For the
rest, what I expect to happen most of the time is that the older material will remain
as-is, but it will get replaced, in terms of attention, by things that
explicitly reference Jetpack and AndroidX.
Which leads me to… me. It’s possible that I am the single most affected
person on the planet with respect to these changes.
I have written the most material about Android on Stack Overflow
by a fair margin. I am not planning on wading through 20,000+ answers to try
to update them for Jetpack/AndroidX, though I will make some changes as I see
the need. Similarly, I am not going to update 8 years of blog posts.
But I also have written the most material about Android in book form
by a fair margin. Right now I am staring at 5,000-ish pages of material, much of which is at
least partly affected by Jetpack/AndroidX. Some of that reflects direct changes —
while Android Studio offers conversion tools for AndroidX, I have hundreds of
sample projects. Some of that merely reflects “technical debt” with respect to
the book content, where Jetpack/AndroidX merely accentuate the existing issues with that content
ListView instead of
RecyclerView). For many authors, “what’s done is
done”, but I focus on keeping these books relatively up to date… and for that,
Jetpack/AndroidX is an unnatural disaster, but a necessary one.
My plans are still in flux, as it is not every week that 10 years of my work gets
rendered a wee bit obsolete.
Here is what I can say with some certainty:
I will be publishing updates to The Busy Coder’s Guide to Android Development,
Android’s Architecture Components, and
Exploring Android in the coming weeks.
These updates will not have any Jetpack/AndroidX material, as that stuff is still
in an alpha state.
I will release further updates to The Busy Coder’s Guide to Android Development
and Android’s Architecture Components in the next few months, but they will be
few and far between. They also will not have any Jetpack/AndroidX material, as I need
to wait on releasing anything based on that until Android Studio 3.2 reaches a stable
release and AndroidX artifacts reach a
From there… I have a plan, and we’ll see how that plan works over the coming
months. Once Android Studio 3.2 and AndroidX
1.0.0 are final, expect more updates
from me as to where the books are going.
Need Android app development training for your team? Mark Murphy has trained hundreds! Learn more!