当前位置: 首页 > news >正文

Android systemui 编译

目录

简介:

一、步骤

二、下载源码

三、环境配置

四、确定好需要编译版本

五、编译SystemUI

    步骤1:进入源代码目录

步骤2:初始化编译环境

步骤3:选择目标设备

步骤4:编译SystemUI

步骤5:查找生成的文件

六. 部署到设备

七、完结


简介:

        SystemUI是Android系统非常重要的一个组件,日常使用无论是Android应用开发还是framework开发,我们都会经常遇到,它主要包括状态栏、快捷设置、通知栏、导航、锁屏、音量、最近访问等模块,在下载Android源码后,我们该如何编译Android SystemUI呢?下面让我们来一步步实现。

一、步骤

    1、我们需要 下载Android源代码

    2、配置编译环境

    3、选择需要编译目标

    4、执行编译命令,编译systemUI

    5、 验证编译成果

二、下载源码

    前面有对应的文章已介绍,这里就不再啰嗦。详见文章

AOSP 源码编译android 12-CSDN博客文章浏览阅读1k次,点赞21次,收藏21次。python2 sudo apt-get install python python3 sudo apt-get install python3 repo因为Android源码由多个git组成,故安装repo利于管理git工程. repo安装步骤 b.下载启动器 注意 如果提示 curl: command not found ,那是因为没装 Curl 执行 :sudo apt-get install curl -y我采用的是另外https://blog.csdn.net/shi450561200/article/details/135046028

三、环境配置

AOSP 源码编译android 12-CSDN博客

四、确定好需要编译版本

五、编译SystemUI

    步骤1:进入源代码目录

    首先,你需要进入你下载的Android源代码的根目录。每个人的不太一样,我的源码目录是Android12

所以我这边执行的是

cd Android12

如图

步骤2:初始化编译环境

    接下来,你需要执行初始化命令,以便系统能够正确识别和编译SystemUI。

source build/envsetup.sh

如图

步骤3:选择目标设备

在编译之前,你需要选择你要编译的目标设备。

lunch sdk_x86_64

如图

步骤4:编译SystemUI

  现在,你可以开始编译SystemUI了。

make SystemUI

执行该命令会编译SystemUI的代码,并生成可执行文件。

步骤5:查找生成的文件

编译完成后,你需要查找生成的SystemUI文件。

ls out/target/product/<device>/system/priv-app/SystemUI/SystemUI.apk

这个命令会列出SystemUI.apk文件的路径,你可以将它部署到设备上进行测试。

六. 部署到设备

       最后一步是将编译好的SystemUI.apk文件部署到设备上。  接下来,你可以使用adb命令将SystemUI.apk文件安装到设备上。

adb install -r /path/to/SystemUI.apk

安装完成后,你需要重启设备以使修改生效。重起设备

adb reboot


七、完结

通过以上步骤,你就可以成功编译和部署Android SystemUI

相关文章:

  • 参考数据集INRIA Holidays dataset
  • GO EASY 框架 之 NET 05
  • Banana Pi BPI-R4开源路由器开发板快速上手用户手册,采用联发科MT7988芯片设计
  • 2024 高级前端面试题之 HTTP模块 「精选篇」
  • vscode实时预览markdown效果
  • 类银河恶魔城学习记录1-5 CollisionCheck源代码 P32
  • 基于WordPress开发微信小程序2:决定开发一个wordpress主题
  • P8706 [蓝桥杯 2020 省 AB1] 解码--2024蓝桥杯冲刺省一
  • Javascript第八个知识点:函数
  • 华为数通方向HCIP-DataCom H12-831题库(填空题)
  • MySQL运维实战(5.3) MySQL数据乱码的一些情况
  • 【YAML语法规范指南】从入门到精通,揭秘神秘语法,引领配置文件解析指南(基础结构篇)
  • H5 简约四色新科技风引导页源码
  • Vue组件通信讲解[父子组件通信]
  • C++新特性 线程局部存储
  • CSS盒模型深入
  • es6(二):字符串的扩展
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java编程基础24——递归练习
  • JAVA多线程机制解析-volatilesynchronized
  • Java深入 - 深入理解Java集合
  • JS专题之继承
  • LeetCode18.四数之和 JavaScript
  • Linux Process Manage
  • spring学习第二天
  • vue-cli在webpack的配置文件探究
  • 关于字符编码你应该知道的事情
  • 猴子数据域名防封接口降低小说被封的风险
  • 基于HAProxy的高性能缓存服务器nuster
  • 前端攻城师
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何胜任知名企业的商业数据分析师?
  • 探索 JS 中的模块化
  • 小程序开发之路(一)
  • mysql面试题分组并合并列
  • 组复制官方翻译九、Group Replication Technical Details
  • "无招胜有招"nbsp;史上最全的互…
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (10)ATF MMU转换表
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (转)树状数组
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net FrameWork简介,数组,枚举
  • .Net程序帮助文档制作
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • @PreAuthorize注解
  • []sim300 GPRS数据收发程序
  • [04]Web前端进阶—JS伪数组