The BoringdroidSystemUI is a pc-style SystemUI implementation that uses SystemUI plugin to hook itself to SystemUI.
It also uses SystemUI SharedLib to receive the task changed events from system.
We provide gradle build script to build app with gradle, and develop it with Android Studio. It uses the keystore generated from AOSP debug key, and it will help to install debug app from Android Studio to Android.
build.gradle
use jars of above library to remove system API dependency, and
built this project directly and separately. The jars are built from system, so we should update them
when we upgrade AOSP.
Execute the following commands to build library files:
source build/envsetup.sh
lunch boringdroid_x86_64-userdebug
m SystemUISharedLib
Copy out/target/product/boringdroid_x86_64/obj/JAVA_LIBRARIES/SystemUISharedLib_intermediates/javalib.jar
to replace SystemUIPluginLib.jar
. And then updating src/main/SystemUISharedRes
based on
SystemUI SharedLib's Android.bp.
The SystemUISharedLib
is a new all-in-one library.
This project has some instrumentation tests, and you should use the below command to check tests before you push changes to the repository for reviewing:
./gradlew connectedAndroidTest
This project also has some unit tests, you should use the below command to check tests before you push changes to the repository for reviewing:
./gradlew test
This project uses Spotless to format source code, and you can use the below command to check and format source code before you push changes to the repository for reviewing:
./gradlew spotlessCheck
./gradlew spotlessApply
If you encounter an error when use ./gradlew spotlessApply
, you should fix format errors
manually, because the Spotless based formatter can't fix all errors.
The BoringdroidSystemUI
is released with apk, and you can use the following commands build apk:
./gradlew build
And copy the app/build/outputs/apk/release/app-release-unsigned.apk
as the released apk to the
release repository.
Also, we can download latest build APK from GitHub Action's artifacts.