本文介紹使用源碼編譯默認去掉導航欄/狀態欄方法,以觸覺智能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