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

相关推荐
饭小猿人15 小时前
Android 腾讯X5WebView如何禁止系统自带剪切板和自定义剪切板视图
android·java
_李小白15 小时前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习
美狐美颜SDK开放平台15 小时前
多场景美颜SDK解决方案:直播APP(iOS/安卓)开发接入详解
android·人工智能·ios·音视频·美颜sdk·第三方美颜sdk·短视频美颜sdk
嗷o嗷o15 小时前
Android BLE 里,MTU、分包和长数据发送到底该怎么处理
android
Gary Studio17 小时前
Android AIDL HAL工程结构示例
android
y = xⁿ17 小时前
MySQL八股知识合集
android·mysql·adb
andr_gale18 小时前
04_rc文件语法规则
android·framework·aosp
祖国的好青年19 小时前
VS Code 搭建 React Native 开发环境(Windows 实战指南)
android·windows·react native·react.js
黄林晴19 小时前
警惕!AGP 9.2 别只改版本号,R8 规则与构建链路全线收紧
android·gradle