The CommonsBlog - RSS Feed

Latest articles

Applying distributionSha256Sum to Gradle and Android Studio

Since I wrote about a Gradle Wrapper supply chain attack a few days ago, I decided to check back in Android Studio’s support for distributionSha256Sum. And the good news is that with Android Studio Electric Eel, it seems to work well… if you know the limitations. Basic Setup In your gradle/wrapper/gradle-wrapper.properties file, there is a...

Gradle Wrapper Supply Chain Attack

Gradle, Inc. has reported that MinecraftOnline had malicious Gradle Wrapper JARs in some of their repositories. I warned about this sort of possibility six years ago and off and on thereafter. I’ll re-up the same sorts of points that I have made before: Do not use the Gradle Wrapper from an arbitrary project that you grab off of...

ActivityPub and Android

Android Dev Social is not merely a Mastodon instance, but it also has an associated blog. I wrote a guest post there, ActivityPub and Android, describing what ActivityPub is and outlining where I think some opportunities lie for interested Android app developers.

When It Comes to Twitter, Have a Plan

TL;DR: You can find me on Mastodon at @commonsguy@androiddev.social. You might be a fan of Elon Musk, or you might not. However, it is hard to look at the past two weeks and conclude that Twitter is now in a more stable position than it was previously. Even Mr. Musk himself has hinted at bankruptcy as being a potential outcome in the coming...

Issue Trackers and the “Can’t Deliver Broadcast” Bug

There is a bug, unique to Android 13, with this stack trace: Fatal Exception: android.app.RemoteServiceException$CannotDeliverBroadcastException: can't deliver broadcast at android.app.ActivityThread.throwRemoteServiceException(ActivityThread.java:1980) at android.app.ActivityThread.-$$Nest$mthrowRemoteServiceException() at...

Random Musings on the Android 13 Developer Beta 1

Each time Google releases a new developer preview, I rummage through the API differences report the high-level overviews, and even the release blog post, to see if there are things that warrant more attention from developers. I try to emphasize mainstream features that any developer might reasonably use, along with things that may not get quite...

Random Musings on the Android 13 Developer Preview 2

Each time Google releases a new developer preview, I rummage through the API differences report the high-level overviews, and even the release blog post, to see if there are things that warrant more attention from developers. I try to emphasize mainstream features that any developer might reasonably use, along with things that may not get quite...

Random Musings on the Android 13 Developer Preview 1

Each time Google releases a new developer preview, I rummage through the API differences report the high-level overviews, and even the release blog post, to see if there are things that warrant more attention from developers. I try to emphasize mainstream features that any developer might reasonably use, along with things that may not get quite...

Navigating in Compose: Criteria

Navigating between screens is a common act in an Android app… though, as Zach Klippenstein noted, “screen” is a somewhat amorphous term. Naturally, we want to be able to navigate to different “screens” when those screens are implemented as composables. How we do this is a highly contentious topic. Roughly speaking, there seems to be four major...

Compose for Wear: CurvedRow() and CurvedText()

Compose UI is not just for phones, tablets, foldables, notebooks, and desktops. Compose UI is for watches as well, via the Compose for Wear set of libraries. (Google calls it “Wear Compose” on that page, but that just makes me think “Wear Compose? There! There Compose!”). (and, yes, I’m old) Compose for Wear has a bunch of composables designed...

Discover, share and read the best on the web

Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!