本文介绍使用源码编译默认去掉导航栏/状态栏方法,以触觉智能EVB3588开发板演示,Android12系统,搭载了瑞芯微RK3588芯片,该开发板是核心板加底板设计,音视频接口、通信接口等各类接口一应俱全,可帮助企业提高产品开发效率,缩短上市时间,降低成本和设计风险。
源码修改
源码修改说明:"-"表示需要去掉的内容,"+"表示需要添加的内容。
(1)导航栏修改:
修改
packages/apps/Launcher3/src/com/android/launcher3/DeviceProfile.java文件,修改内容如下:
@@ -+241,9 @@ public class DeviceProfile {
availableHeightPx = windowBounds.availableSize.y;
mInfo = info;
- isTablet = info.isTablet(windowBounds);
+ isTablet = false;
修改
device/rockchip/rk3588/rk3588_s/rk3588_s.mk文件,修改内容如下:
PRODUCT_PROPERTY_OVERRIDES += persist.sys.timezone=Asia/Shanghai
PRODUCT_PROPERTY_OVERRIDES += persist.net.eth.mode=
PRODUCT_PROPERTY_OVERRIDES += persist.net.eth1share.ipaddress=192.168.5.1
+PRODUCT_PROPERTY_OVERRIDES += qemu.hw.mainkeys=1
修改
frameworks/base/packages/SystemUI/res/values-sw900dp/config.xml文件,修改内容如下:
<resources>
<!-- Nav bar button default ordering/layout -->
- <string name="config_navBarLayout" translatable="false">back,home,left;space;right,recent</string>
+ <string name="config_navBarLayout" translatable="false">left;volume_sub,back,home,recent,volume_add,screenshot;right</string>
</resources>
修改
frameworks/base/packages/SystemUI/src/com/android/systemui/navigationbar/NavigationBarController.java文件,修改内容如下:
/** @return {@code true} if taskbar is enabled, false otherwise */
private boolean initializeTaskbarIfNecessary() {
- if (mIsTablet) {
+ if (false) {
// Remove navigation bar when taskbar is showing
removeNavigationBar(mContext.getDisplayId());
mTaskbarDelegate.init(mContext.getDisplayId());
} else {
mTaskbarDelegate.destroy();
}
- return mIsTablet;
+ return false;
}
@Override
@@ -295,7 +295,7 @@ public class NavigationBarController implements
// We may show TaskBar on the default display for large screen device. Don't need to create
// navigation bar for this case.
- if (mIsTablet && isOnDefaultDisplay) {
+ if (false) {
return;
}
(2)状态栏修改
修改
frameworks/base/packages/SystemUI/res/layout/status_bar.xml文件,修改内容如下:
@@ -26,6 +26,7 @@
android:id="@+id/status_bar"
android:orientation="vertical"
android:focusable="false"
+ android:visibility="gone"
android:descendantFocusability="afterDescendants"
android:accessibilityPaneTitle="@string/status_bar"
>
源码编译
以上内容全部修改完后,即可编译烧录测试,在源码根目录下执行编译命令:
# source build/envsetup.sh
# lunch 53
# make -j4
编译完成在会在out/target/product/rk3588_s/目录生成super.img,可单独烧录该分区文件测试,也可合成整包固件,具体方法参考主板烧录手册。
根据烧录手册完成烧录后,导航栏和状态栏屏蔽成功。
产品介绍
触觉智能EVB3588开发板具有以下优势:
支持开源鸿蒙OpenHarmony与麒麟
KylinOS国产系统,以及Android/Linux;
瑞芯微RK3588高性能SoC,集成四核A76
和四核A55处理器,Mali-G610 四核GPU;
支持48M ISP,多摄像头输入;
6T AI高算力NPU,三核架构;
支持HDMI2.1输出,最高8K@60FPS;
支持HDMI2.0输入,最高4K@60FPS;
2×独立千兆以太网口,支持WAN+LAN
双IP,支持5G/4G/WiFi/蓝牙无线通信;
板载4×USB3.0,2×全功能Type-C