Open-source project
Blankj/AndroidUtilCode avatar
Blankj/AndroidUtilCode

AndroidUtilCode: two modules, API 14 badges, and no commit since August 2024

:fire: Android developers should collect the following utils(updating).

33,619 stars10,600 forksJavaApache-2.0

At a glance

What is it?
AndroidUtilCode is a Java utility library for Android that wraps commonly used helper functions, with complete demos and unit tests. It ships as two modules, a commonly used one and a rarely used one that can still simplify the main module, its badges claim API level 14, and the last commit to the repository was 2024-08-15.
Who is it for?
Use AndroidUtilCode if you are building an Android app that needs the small conveniences it wraps, if API 14 as a floor matches your minimumSdkVersion, and if you are willing to read the source of any helper you call. Do not adopt it expecting new Android platform releases to be reflected, since the last commit was 2024-08-15 and the newest release tag, 1.31.1, is from 2022-10-14.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Probably not. The repository last received commits 25 months ago, on August 15, 2024.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Two modules, split by how often you will call them

The library is two modules and the split is by usage, not by topic. One is the module commonly used in development. The other is rarely used in development, but its utilities can still be beneficial to simplify the main module, which is a slightly odd claim to make about a module you rarely use, and the honest reading is that some of those rarely used helpers are the ones that make the common ones shorter.

That structure has a practical consequence. The top level file is not an index you can search. It links to an English and a Chinese README for each module, four files in total, plus a Chinese version of the top level readme. If you are looking for a specific helper, the answer is in one of those four, not here.

The description also makes two claims about quality that are worth taking seriously rather than at face value: the encapsulated functions come with complete demos, and they come with unit tests. Neither is demonstrated on the top level page, so both are things to check for the specific utility you intend to use.

The API 14 badge is a claim about the floor, not the ceiling

Two badges carry the platform information. One is a green badge reading API 14 and above, which is the minimum version the library is built against. The other points at an external index of Android libraries and shows the same level 14, which is a third-party listing of the same fact rather than an independent assessment.

So the library claims compatibility back to API 14, which is a very old floor. That is a meaningful constraint in the other direction too: a library that supports the oldest Android versions has to avoid newer platform APIs in its implementations, or guard them. Nothing in the top level readme explains how it handles that, and it is exactly the kind of detail that matters if you are reading a helper's source to decide whether to call it.

For an adopter the practical check is narrow. If your app's minimumSdkVersion is 14 or above, the claim is compatible with you. If it is lower, the library is not for you without a look at the source.

The build is split across seven Gradle files and a plugin directory

The repository root is a Gradle build with more moving parts than a library this size suggests. There is a build.gradle, and then buildApp.gradle, buildCommon.gradle and buildLib.gradle beside it, plus module_config.gradle and a module_config.json that appears to drive the module list. There is a buildSrc directory, a plugin directory, a script directory and a sign directory, alongside the wrapper, gradle.properties and settings.gradle.

A feature directory and a config directory sit at the root too, which suggests the repository is not only the published library but also the sample application used to demo it. That matches the claim about complete demos, since the demos have to live somewhere, and a feature directory is a plausible home for them.

For a reader, the useful consequence is that this is a real application repository rather than a bare library. The demos are the primary documentation, which is the common arrangement for Android utility collections and also the reason the module READMEs matter so much.

No commit since 2024-08-15, and the last release tag is from 2022

Two dates frame the project. The last push to the repository was 2024-08-15, and the three most recent releases are 1.31.1 from 2022-10-14, 1.30.0 from 2020-10-24 and 1.29.0 from 2020-05-28.

The gap between them is the thing to hold on to. Commits continued for roughly two years after the newest tag, which means the master branch has moved without a release. The repository is not archived, so the code is still there and still readable, but there is no version to pin that corresponds to the current state of the branch.

If you are evaluating this for a dependency, that ordering is unusual and worth thinking about. Either the maintainer was committing fixes and examples without cutting a release, or the project's release discipline stopped earlier than its development did. The changelog is linked from the top level file and is where the distinction between the two would show.

Support runs through a blog, a writing platform, Weibo and a QQ group

The contact section is four links: a personal blog at blankj.com, a profile on Jianshu, a Weibo account, and a QQ group with a membership number in the badge. A donation QR code sits above them, with a request to support development and maintenance.

None of those channels is a general-purpose issue tracker, and the top level file does not link one. There is a GitHub CI badge and a build badge, so continuous integration is configured, but the visible support path is a set of Chinese-language social channels and a chat group rather than a public forum.

That is a real difference from most Android libraries of this size, and it shapes what support means here. A question asked in a QQ group is answered by whoever is present. A bug report is not obviously filed anywhere durable, which means a problem you hit may not be recorded anywhere you can search later.

A paid column and a framework template share the page

The top level file carries three things that are not about the library. There is a badge for a related project, a framework template repository belonging to the same author. There is a short section, marked as an advertisement, inviting readers to the author's paid column. And there is the donation request.

The framework template badge is the one worth a second look for an engineer. A template repository from the same author is a hint at the intended shape of a project that uses this library, and reading it is probably faster than reading the utility documentation when your question is how to structure an app rather than how to call one function.

The paid column and the donation request are ordinary for a solo-maintained open source project and are not a problem. Worth noting for context: the project is maintained by one person, the support channels are personal, and the most recent activity is over two years old. None of that is an argument against the code, and all of it is an argument for reading rather than depending.

Editorial conclusion

Use AndroidUtilCode if you are building an Android app that needs the small conveniences it wraps, if API 14 as a floor matches your minimumSdkVersion, and if you are willing to read the source of any helper you call. Do not adopt it expecting new Android platform releases to be reflected, since the last commit was 2024-08-15 and the newest release tag, 1.31.1, is from 2022-10-14. Before you depend on it: check that your build can take the API 14 claim, read the module README for the specific utility rather than the top level file, which is a pointer to four other READMEs, and verify that the helper you want has a unit test, since that completeness is the library's own claim rather than something the top level page demonstrates.

Frequently asked questions

What is AndroidUtilCode and what is in it?

It is a Java library for Android that encapsulates functions commonly used in development, with complete demos and unit tests for them, and it is described as improving development efficiency. The functions it provides are wrapped by its own APIs rather than used directly, and the two modules are a commonly used one and a rarely used one whose utilities can still help simplify the main module.

What Android version does AndroidUtilCode support?

Its badge states API 14 and above, and an external library index lists it at the same level 14. That is a floor rather than a target, so it suits an app whose minimumSdkVersion is 14 or higher, and an app with a lower floor would need to read the implementation before relying on it.

Is AndroidUtilCode still maintained?

The repository is not archived, but the last push was 2024-08-15 and the most recent release, 1.31.1, dates from 2022-10-14, with 1.30.0 from 2020 and 1.29.0 from earlier in 2020. So the branch has moved well past its last tag, and there is no released version that matches the current state of the code.

How do I get help with AndroidUtilCode?

The published contact channels are a personal blog, a Jianshu profile, a Weibo account and a QQ group, plus a donation QR code. The top level file does not link a public issue tracker, so problems and questions are handled through those channels rather than somewhere searchable.

Does AndroidUtilCode have unit tests?

The project states that the encapsulated functions come with complete demos and unit tests, which is its own claim about its coverage. The top level file does not demonstrate either, and the documentation for each utility lives in the four module READMEs it links to, so the claim is something to check for the specific helper you plan to call.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/blankj-androidutilcode.svg)](https://hysenlabs.com/projects/blankj-androidutilcode)