《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 的神秘面纱。

相关推荐
YF02113 小时前
遥控器APP端自动重连方案
android
执明wa3 小时前
Android Studio 打包 APK
android·ide·android studio
waiting9711184 小时前
Ubuntu 26.04 + Android14安装与编译教程
android·linux·ubuntu
hunterandroid4 小时前
Android 测试全景:从单元测试到 UI 自动化的完整实践
android·前端
蜡台4 小时前
Kotlin 五大作用域函数详解|let/run/apply/also/with 选型指南+实战避坑
android·java·kotlin
2401_833269306 小时前
Android registerForActivityResult详解
android
Carson带你学Android6 小时前
9月 Android Drop:Gemini 终于不只是聊天助手了
android·ai编程
Sagittarius_A*6 小时前
【LitCTF2026】lit_ezsql
android·java·数据库
hai_android7 小时前
Messenger:Android 最轻量的 IPC 方式
android·kotlin
gxgldyh7 小时前
Android Framework源码解析(十):Service启动全流程——从startService到Service执行的源码深度解析
android