System Launcher¶
This chapter describes how to customize the Android system launcher, applicable to A133, H618, A733, T527, and all Rockchip series platforms.
Source Code Paths¶
# a133
android/packages/apps/Launcher3/
# h618 tv
vendor/aw/homlet/package/TVLauncher
# t527 a733 rk && h618 tablet
packages/apps/Launcher3/
Building APK Individually¶
# rk series
./build.sh lunch
source build/envsetup.sh
lunch $TARGET_PRODUCT-$BUILD_VARIANT
make Launcher3QuickStepGo -j32
# t527
source build/envsetup.sh
lunch t527_demo_arm64-userdebug
m Launcher3QuickStepGo -j32
# a733
source build/envsetup.sh
lunch a733_demo_aiot_arm64-userdebug
m Launcher3QuickStepGo -j32
# a133
cd android/
source build/envsetup.sh
lunch ceres_c3-userdebug
m Launcher3QuickStepGo -j32
H618 Launcher Switching¶
In H618 Android 12.0, the KICKPI_PALTFORM variable in homlet.mk switches between TV and Tablet launchers. TV mode is the default. Add the following in BoardConfig.mk or the corresponding product .mk file:
--- a/device/softwinner/apollo/apollo_p2.mk
+++ b/device/softwinner/apollo/apollo_p2.mk
+
+KICKPI_PALTFORM := tablet
| Value | Launcher | Applications |
|---|---|---|
tv (default) |
TV Launcher | TvLauncher, TvSettings |
tablet |
Tablet Launcher | Launcher3QuickStep, Settings, SystemUI |
APK paths:
- TV Launcher:
vendor/aw/homlet/package/TVLauncher - Tablet Launcher:
packages/apps/Launcher3/
Disabling the Search Box¶
--- a/android/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
+++ b/android/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java
@@ -68,7 +68,7 @@ abstract class BaseFlags {
public static final boolean LAUNCHER3_PROMISE_APPS_IN_ALL_APPS = false;
// Enable moving the QSB on the 0th screen of the workspace
- public static final boolean QSB_ON_FIRST_SCREEN = true;
+ public static final boolean QSB_ON_FIRST_SCREEN = false;
public static final TogglableFlag EXAMPLE_FLAG = new TogglableFlag("EXAMPLE_FLAG", true,
"An example flag that doesn't do anything. Useful for testing");
Launcher Replacement¶
- Add the HOME category attribute to your application's
AndroidManifest.xmlto qualify it as a home application:
<activity android:name=".MainActivity" android:directBootAware="true">
<intent-filter>
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
- Add launcher override priority and system signing to your application's
Android.mkorAndroid.bp.
Android.mk — Add the following to the module declaration:
--- a/vendor/rockchip/common/apps/TestLauncher/Android.mk
+++ b/vendor/rockchip/common/apps/TestLauncher/Android.mk
@@ - ... @@
+LOCAL_OVERRIDES_PACKAGES := \
+ Launcher2 \
+ Launcher3 \
+ Launcher3QuickStep \
+ Launcher3QuickStepGo
Android.bp — Add overrides to the android_app_import block:
--- a/vendor/rockchip/common/apps/TestLauncher/Android.bp
+++ b/vendor/rockchip/common/apps/TestLauncher/Android.bp
@@ - ... @@
+ certificate: "platform"
+ privileged: true
+ overrides: [
+ "Launcher2",
+ "Launcher3",
+ "Launcher3QuickStep",
+ "Launcher3QuickStepGo",
+ ],
Warning
For H618 (K2B / K2C), you also need to override TvLauncher.