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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/64784.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW机械故障诊断中的传感器选择

在机械设备故障诊断中,传感器是关键设备,用于采集设备运行状态的各种数据。常见的传感器类型和选择方法如下: 1. 振动传感器 用于检测设备运行中的振动特征,常见于旋转机械和轴承故障诊断。 加速度传感器:检测高频振…

JVM和数据库面试知识点

JVM内存结构 主要有几部分:堆、栈、方法区和程序计数器 堆是JVM中最大的一块内存区域,用于存储对象实例,一般通过new创建的对象都存放在堆中。堆被所有的线程共享,但是它的访问时线程不安全的,通常通过锁的机制来保证线…

电子发票汇总改名,批量处理电子发票问题

今天给大家推荐一个财务方面工作的软件。可以帮你解决很多财务。发票方面的问题。 电子发票汇总改名 批量处理电子发票问题 这个软件安装之后。会在桌面上分成三个小软件,分别是修改单位信息、自定义命名规则和电子发票汇总改名。 你可以在这个软件里提取PDF或者of…

用 Python 从零开始构建 LLaMA 3

文章结尾有最新热度的文章,感兴趣的可以去看看。 本文是经过严格查阅相关权威文献和资料,形成的专业的可靠的内容。全文数据都有据可依,可回溯。特别申明:数据和资料已获得授权。本文内容,不涉及任何偏颇观点,用中立态度客观事实描述事情本身 文章有点长(字),期望您能坚…

移植 OLLVM 到 LLVM18,修复控制流平坦化报错

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 前言 把 OLLVM 移植到 LLVM18 后,发现 -fla(控制流平坦化)并不能正常使用。 关于移植过程可以参考这篇文章 【移植 OLLVM…

MyBatis通过注解配置执行SQL语句原理源码分析

文章目录 前置准备流程简要分析配置文件解析加载 Mapper 接口MapperAnnotationBuilder解析接口方法注解parseStatement 方法详解MapperBuilderAssistant 前置准备 创建一个mybatis-config.xml文件&#xff0c;配置mapper接口 <mappers><!--注解配置--><mapper…

入侵他人电脑,实现远程控制(待补充)

待补充 在获取他人无线网网络密码后&#xff0c;进一步的操作是实现入侵他人电脑&#xff0c;这一步需要获取对方的IP地址并需要制作自己的代码工具自动化的开启或者打开对方的远程访问权限。 1、获取IP地址&#xff08;通过伪造的网页、伪造的Windows窗口、hook&#xff0c;信…

mac 安装graalvm

Download GraalVM 上面链接选择jdk的版本 以及系统的环境下载graalvm的tar包 解压tar包 tar -xzf graalvm-jdk-<version>_macos-<architecture>.tar.gz 移入java的文件夹目录 sudo mv graalvm-jdk-<version> /Library/Java/JavaVirtualMachines 设置环境变…

[SZ901]JTAG高速下载设置(53Mhz)

SZ901最高支持JTAG 53MHz的时钟频率&#xff0c;下载bit文件和固化程序的速度提升非常明显。 首先设置参数 1&#xff0c;将JTAG0 分频系数修改为3 2&#xff0c;设置参数&#xff0c;更新参数。&#xff08;完成&#xff09; 打开VIVADO VIVADO 正常识别FPGA&#xff0c;速…

蓝桥杯刷题——day8

蓝桥杯刷题——day8 题目一题干解题思路代码 题目二题干解题思路代码 题目一 题干 N 架飞机准备降落到某个只有一条跑道的机场。其中第i架飞机在 Ti时刻到达机场上空&#xff0c;到达时它的剩余油料还可以继续盘旋 Di个单位时间&#xff0c;即它最早可以于 Ti时刻开始降落&am…

深度科普文:细数倾斜摄影数据的缺点

1. 引言 写这篇文章的起因是最近遇到一个使用倾斜摄影数据应标的三维可视化项目&#xff0c;业主认为倾斜摄影数据加载很卡&#xff0c;要求能浏览场景的时候能立刻显示出当前的场景最精细的模型&#xff0c;如下图1所示。其实这个问题遇到的次数还真不少&#xff0c;作为乙方…

React:闭包陷阱产生和解决

在 React 中&#xff0c;闭包陷阱是一个常见的问题&#xff0c;尤其是在处理异步操作、事件处理器、或是定时器时。理解闭包的工作原理以及它在 React 中如何与状态和渲染交互&#xff0c;可以帮助你避免陷入一些常见的错误。 一、闭包陷阱的产生 1、什么是闭包陷阱&#xff1…

【开源免费】基于SpringBoot+Vue.JS在线宠物用品交易网站(JAVA毕业设计)

本文项目编号 T 092 &#xff0c;文末自助获取源码 \color{red}{T092&#xff0c;文末自助获取源码} T092&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

【Git 常用操作:pull push】

Git 基本概念 Git 是一个先进的开源的分布式版本控制系统&#xff0c;常用于管理工作内容、项目代码等功能。 Git 工作流程 图片来源&#xff1a;https://www.runoob.com/git/git-basic-operations.html 说明&#xff1a; workspace&#xff1a;工作区staging area&#xff…

shell脚本的循环-----while和for循环

一、while 1.格式 while 条件表达式; do 命令 done 2.案例 &#xff1a; ping测试子网段的主机网段由用户输入&#xff0c;例如用户输入192.168.101 &#xff0c;则ping192.168.101.125 — 192.101.131 UP&#xff1a; /tmp/host_up.txt Down: /tmp/host_down.txt &#…

内容与资讯API优质清单

作为开发者&#xff0c;拥有一套API合集是必不可少的。这个开发者必备的API合集汇集了各种实用的API资源&#xff0c;为你的开发工作提供了强大的支持&#xff01;无论你是在构建网站、开发应用还是进行数据分析&#xff0c;这个合集都能满足你的需求。你可以通过这些免费API获…

maven-resources-production:ratel-fast: java.lang.IndexOutOfBoundsException

Maven生产环境中遇到java.lang.IndexOutOfBoundsException的问题&#xff0c;尝试了重启电脑、重启IDEA等常规方法无效&#xff0c;最终通过直接重建工程解决了问题。 Rebuild Project 再启动OK

[数据结构] 链表

目录 1.链表的基本概念 2.链表的实现 -- 节点的构造和链接 节点如何构造? 如何将链表关联起来? 3.链表的方法(功能) 1).display() -- 链表的遍历 2).size() -- 求链表的长度 3).addFirst(int val) -- 头插法 4).addLast(int val) -- 尾插法 5).addIndex -- 在任意位置…

深度学习0-前置知识

一、背景 AI最大&#xff0c;它的目的是通过让机器模仿人类进而超越人类&#xff1b; ML次之&#xff0c;它是AI的一个分支&#xff0c;是让机器模仿人类的一种方法。开发人员用大量数据和算法“训练”机器&#xff0c;让机器自行学会如何执行任务&#xff0c;它的成功取决于…

基于Python Scrapy的豆瓣Top250电影爬虫程序

Scrapy安装 Python实现一个简单的爬虫程序&#xff08;爬取图片&#xff09;_python简单扒图脚本-CSDN博客 创建爬虫项目 创建爬虫项目&#xff1a; scrapy startproject test_spider 创建爬虫程序文件&#xff1a; >cd test_spider\test_spider\spiders >scrapy g…