《AOSP上手》 2、Framework 开发小需求 “去掉原生 Launcher 中的 google 搜索栏”

AOSP 上手 day2:去掉原生 Launcher 中的 google 搜索栏

引言:

day1 运行完后,咱们的 Android 10 的 aosp 是这样的:

现在的需求是:去掉上面的这个 google 搜索框

很多产品,比如用于仓库,电商,物流的 pda 等,更多的是考虑功能性和稳定性,UI 的美观和易用性是其次的。这些产品一般是不会重新开发和定制 Launcher 的,但是会对 Launcher 做一些修改,比如一个常见的需求是: 去掉原生 Launcher 中的 google 搜索栏

再加上 google 搜索栏在中国是没有办法使用的。在中国销售的产品,肯定是要把它去掉的。

修改方法:

第一步:注释掉布局内的文件

修改文件 packages/apps/Launcher3/res/layout/search_container_workspace.xml,将以下内容注释掉:

ini 复制代码
<!-- <fragment android:name="com.android.launcher3.qsb.QsbContainerView$QsbFragment"
android:layout_width="match_parent" 
android:tag="qsb_view"
android:layout_height="match_parent"/> -->

如下:

第二步:注释掉相关java代码中的文件

修改文件:packages/apps/Launcher3/src/com/android/launcher3/Workspace.java 将以下内容注释掉

ini 复制代码
// CellLayout.LayoutParams lp = new CellLayout.LayoutParams(0, 0, firstPage.getCountX(), 1);
// lp.canReorder = false; 
// if (!firstPage.addViewToCellLayout(qsb, 0, R.id.search_container_workspace, lp, true)) {
// Log.e(TAG, "Failed to add to item at (0, 0) to CellLayout"); 
// }

如下:

第三步:重新编译源码,启动模拟器

go 复制代码
make -j16 
emulator

可以看到 Google 搜索框没有了。

总结

为什么这么改就可以去掉这个Google 搜索栏了?

其实办法就一个------读源码

Launcher 也是一个 Android 应用,和我们平时开发的 App 没有本质的区别。 就像我们接手别人开发的项目,去解决项目中的 bug,添加新的需求是一样的。

Android Framework 不同的是,代码量大,涉及知识广泛,App 开发同学如果没有人指导,阅读起来比较吃力。

后续内容我们一起由浅入深,步步分解,慢慢解开 Android Framework 的神秘面纱。

相关推荐
devlei1 小时前
从源码泄露看AI Agent未来:深度对比Claude Code原生实现与OpenClaw开源方案
android·前端·后端
阿拉斯攀登4 小时前
从入门到实战:CMake 与 Android JNI/NDK 开发全解析
android·linux·c++·yolo·cmake
冬奇Lab4 小时前
相机录像流程:MediaRecorder与Camera2的协作之道
android·音视频开发·源码阅读
麦客奥德彪5 小时前
Jetpack Compose 常用开发总结
android
麦客奥德彪5 小时前
Jetpack Compose Modifier 完全指南
android
Mac的实验室7 小时前
(2026年最新)解决谷歌账号注册设备扫码短信发送失败无法验证难题(100%通过无需扫码验证)
android·google·程序员
半条咸鱼8 小时前
如何通过 ADB 连接安卓设备(USB + 无线 TCP/IP)
android
huwuhang9 小时前
斐讯盒子N1_YYFROM固件_webview119更新版附安卓专用遥控器刷机固工具USB_Burning_Tool
android
qq_352018689 小时前
android 状态栏高度获取
android
AirDroid_cn9 小时前
安卓15平板分屏比例能到1:9吗?极限分屏设置教程
android·智能手机