Android 10 Launcher3 删除谷歌搜索

命令行获取页面

手机处于launcher首页
adb shell dumpsys window | findstr mCurrentFocus
输出
mCurrentFocus=Window{9afb34d u0 com.android.launcher3/com.android.launcher3.Launcher}

找到源码路径

packages/apps/Launcher3/
Android10源码 搜索控件
grep -r -n AppsSearchContainerLayout
跳转:Ctrl+左键在这里插入图片描述

使用AS的Layout Inspector神器

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

查找手机中的路径

adb shell pm path com.android.launcher3

编译

mm -j8 WITH_DEXPREOPT=false

在这里插入图片描述
out/target/product/nanopc-t4/product/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk

提取手机APK

adb pull /product/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk

反编译验证

在这里插入图片描述

在这里插入图片描述

应用变体

在这里插入图片描述

推送

注意手机系统是推送这个,不是上面说的
out/target/product/nanopc-t4/product/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk

而是Launcher3.apk
在这里插入图片描述

命令行打开源码位置

在这里插入图片描述

上传123

在这里插入图片描述

如果推送后无效果可以试着将如下文件夹删除后重启
在这里插入图片描述

效果如下

在这里插入图片描述

探究mm指令
#  
# Copyright (C) 2013 The Android Open Source Project  
#  
# Licensed under the Apache License, Version 2.0 (the "License");  
# you may not use this file except in compliance with the License.  
# You may obtain a copy of the License at  
#  
#      http://www.apache.org/licenses/LICENSE-2.0  
#  
# Unless required by applicable law or agreed to in writing, software  
# distributed under the License is distributed on an "AS IS" BASIS,  
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
# See the License for the specific language governing permissions and  
# limitations under the License.  
#  

# 设置当前目录路径  
LOCAL_PATH := $(call my-dir)  

#  
# 构建插件库的规则(需要编写插件)。  
#  
include $(CLEAR_VARS)  # 清除之前的变量设置  
LOCAL_USE_AAPT2 := true  # 使用 AAPT2 工具  
LOCAL_AAPT2_ONLY := true  # 仅使用 AAPT2  
LOCAL_MODULE_TAGS := optional  # 模块标记为可选  
LOCAL_STATIC_JAVA_LIBRARIES := PluginCoreLib  # 静态 Java 库依赖  

# 指定源文件,递归查找 src_plugins 目录下的所有 Java 文件  
LOCAL_SRC_FILES := \
    $(call all-java-files-under, src_plugins)  

LOCAL_SDK_VERSION := current  # 当前 SDK 版本  
LOCAL_MIN_SDK_VERSION := 28  # 最小 SDK 版本  
LOCAL_MODULE := LauncherPluginLib  # 模块名称  

include $(BUILD_STATIC_JAVA_LIBRARY)  # 构建静态 Java 库  

#  
# 构建 Launcher3 依赖库的规则。  
#  
include $(CLEAR_VARS)  # 清除之前的变量设置  
LOCAL_USE_AAPT2 := true  # 使用 AAPT2 工具  
LOCAL_AAPT2_ONLY := true  # 仅使用 AAPT2  
LOCAL_MODULE_TAGS := optional  # 模块标记为可选  

# 静态 Android 库依赖  
LOCAL_STATIC_ANDROID_LIBRARIES := \
    androidx.recyclerview_recyclerview \
    androidx.dynamicanimation_dynamicanimation \
    androidx.preference_preference \
    iconloader_base  

LOCAL_STATIC_JAVA_LIBRARIES := LauncherPluginLib  # 静态 Java 库依赖  

# 指定源文件,查找 protos 和 proto_overrides 目录下的所有 proto 文件  
# 以及 src_build_config 目录下的所有 Java 文件  
LOCAL_SRC_FILES := \
    $(call all-proto-files-under, protos) \
    $(call all-proto-files-under, proto_overrides) \
    $(call all-java-files-under, src_build_config)  

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res  # 资源目录  

LOCAL_PROGUARD_ENABLED := disabled  # 禁用 Proguard  
LOCAL_PROTOC_OPTIMIZE_TYPE := nano  # Protobuf 优化类型  
LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/ --proto_path=$(LOCAL_PATH)/proto_overrides/  # Protobuf 编译选项  
LOCAL_PROTO_JAVA_OUTPUT_PARAMS := enum_style=java  # Protobuf Java 输出参数  

LOCAL_SDK_VERSION := current  # 当前 SDK 版本  
LOCAL_MIN_SDK_VERSION := 21  # 最小 SDK 版本  
LOCAL_MODULE := Launcher3CommonDepsLib  # 模块名称  
LOCAL_PRIVILEGED_MODULE := true  # 特权模块  
LOCAL_MANIFEST_FILE := AndroidManifest-common.xml  # 清单文件  

include $(BUILD_STATIC_JAVA_LIBRARY)  # 构建静态 Java 库  

#  
# 构建 Launcher3 应用的规则。  
#  
include $(CLEAR_VARS)  # 清除之前的变量设置  
LOCAL_USE_AAPT2 := true  # 使用 AAPT2 工具  
LOCAL_MODULE_TAGS := optional  # 模块标记为可选  

# 静态 Android 库依赖  
LOCAL_STATIC_ANDROID_LIBRARIES := \
    Launcher3CommonDepsLib \
    SecondaryDisplayLauncherLib  

# 指定源文件,查找 src 目录下的所有 Java 文件  
# 以及 src_shortcuts_overrides 和 src_ui_overrides 目录下的所有 Java 文件  
LOCAL_SRC_FILES := \
    $(call all-java-files-under, src) \
    $(call all-java-files-under, src_shortcuts_overrides) \
    $(call all-java-files-under, src_ui_overrides) \
    $(call all-java-files-under, src_flags)  

LOCAL_PROGUARD_FLAG_FILES := proguard.flags  # Proguard 配置
最后

保持耐心,多次尝试,学习是一个渐进的过程,不要气馁,做好笔记

其他

https://juejin.cn/post/7107239279432040478#heading-14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值