一. mk 文件1. mk 文件介绍Android.mk 是 Android 提供的一种 Makefile 文件,主要用于编译生成(exe,so,jar,apk)等文件。2. mk 文件基本格式#每个 Android.mk 文件必须以定义 LOCAL_PATH 为开始,它用于在开发树中查找源文件。LOCAL_PATH:= $(call my-dir)#CLEAR_VARS 变量由 Build Sy
Android系统提供了几个主要的预装应用目录,每个目录有不同的用途和权限级别:/system/app - 系统核心应用目录需要系统签名用户无法卸载适合系统核心应用/system/priv-app - 系统特权应用目录拥有更高的权限(privileged permissions)需要系统签名用户无法卸载/product/app - 产品应用目录(Android 10+推荐)产品定制应用可以不需要系
分析系统启动后通过过滤 SettingsActivity ,然后点击 设置-系统-手势-系统导航,进入系统导航设置界面,通过日志可以看出,SettingsActivity com.android.settings D Switching to fragment com.android.settings.gestures.SystemNavigationGestureSettings当前界面就是:c
在 Android 源码编译过程中,m、mm 和 mmm 是常用的三种编译命令,它们的作用和适用场景略有不同,下面详细介绍它们的区别和使用方法。1. m(全局编译)作用m 是 全局编译命令,它会在 Android 根目录下执行,用于编译整个 AOSP 项目或特定模块,并自动解决依赖关系。用法m <module_name>或:make <module_name>示例m Set
OOBE 是 "Out-Of-Box Experience"(开箱体验)的缩写。它指的是用户在首次使用 Android 设备时所经历的初始设置过程。Provision源码分析Provision 在 Android 系统中是一个关键的 初始化引导程序,主要用于设备首次启动或系统升级后执行基础配置,确保设备进入可用状态,引导用户进入初始化的操作,就是开机向导。其核心功能包括:设置系统就绪标志:通过写入
在 Linux 或 macOS 终端中,我们经常需要执行脚本来设置环境变量、运行程序等。其中,source env.sh 和 ./env.sh 都可以用来执行 env.sh 脚本,但它们有本质上的区别。1. source env.sh(或 . env.sh)source 命令用于在当前 Shell 进程中执行脚本,它不会创建新的子进程,而是直接在当前 Shell 环境中运行脚本内容。特点影响当前
在 Ubuntu 上,vim 是一个强大的文本编辑器,常用于代码编写和配置文件编辑。下面是 Vim 指令的基本使用,包括如何打开、编辑、保存和关闭文件。1. Vim 的基本模式Vim 有 三种主要模式:普通模式(Normal Mode)(默认模式):用于导航、复制、粘贴等操作。插入模式(Insert Mode):用于编辑文本。命令模式(Command Mode):用于保存、退出等操作。2. 打开
1. SystemProperty1.1 引入 SystemProperties 类在 Android Framework 中,SystemProperties 类用于访问和操作系统属性。系统属性在 Android 系统中广泛用于存储和检索配置信息。主要方法get(String key) get(String key, String def) getInt(String key, int def)
在 Android Framework 开发中,Overlay 主要用于修改和替换系统或应用的资源,而无需直接修改源码,与源码解耦。Overlay 机制可以分为 两种类型:静态 Overlay(Static Resource Overlay, SRO)在 编译时 覆盖资源。适用于系统级资源修改(如默认壁纸、配置文件等)。需要在 PRODUCT_PACKAGE_OVERLAYS 中指定 Overla
环境: Windows 11 虚拟机:VMware-workstation-full-17.6.2-24409262 Ubuntu:22.041. 代码下载在根目录下创建文件夹mkdir ~/bin导入到环境变量PATH=~/bin:$PATHrepo下载Android源码包含数百个git库,光是下载这么多的git库就是一项繁重的任务,所以Google开发了repo,它是用于管理Android版本
1. Android 开机动画的基本机制Android 的开机动画由 bootanimation 进程控制,它会读取 /system/media/bootanimation.zip 或 /product/media/bootanimation.zip,然后按照配置播放开机动画。动画格式Android 的开机动画是一个 ZIP 压缩包,里面包含多个帧图片,以及一个 desc.txt 配置文件。存放路
十一、输入/输出重定向在 Shell 脚本中,输入/输出重定向是一种强大的功能,允许你将命令的输入和输出从默认的标准输入(stdin)、标准输出(stdout)和标准错误(stderr)重定向到文件或其他命令。1. 标准输出重定向 (> 和 >>)>:将命令的标准输出重定向到文件。如果文件已存在,内容会被覆盖。echo "Hello, World!" > output
以下是优化后的 Markdown 标准写法,保留了图片链接和内容结构:九、流程控制Shell 脚本支持常见的流程控制结构,如条件判断、循环和分支选择。1. 条件判断条件判断用于根据条件执行不同的代码块。Shell 中最常用的条件判断语句是 if。1.1 if 语句基本语法if [ 条件 ]; then # 条件为真时执行的代码 elif [ 其他条件 ]; then # 其他条件为
七、printf 命令printf 是一个功能强大的命令,用于格式化输出。它类似于 C 语言中的 printf 函数,允许开发者按照指定的格式打印文本和变量。语法printf FORMAT [ARGUMENT]...FORMAT: 一个字符串,指定输出的格式。ARGUMENT: 可选的参数,用于替换 FORMAT 中的占位符。常用占位符占位符描述%s输出字符串%d输出整数(十进制)%f输出浮点数%
五、Shell 运算符5.1 算术运算符Shell 默认支持整数运算,浮点运算需要借助外部工具(如 bc 或 awk)。运算符描述示例+加法expr 5 + 3-减法expr 5 - 3\*乘法(需转义)expr 5 \\* 3/除法(整数)expr 5 / 2%取模expr 5 % 2用法及注意事项使用 expr 时运算符之间必须有空格,例如 2+2 是不对的,必须写成 2 + 2。乘法运算需
三、shell 传递参数我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为 $n,n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数。3.1 传递参数的基本方法./script.sh arg1 arg2 arg33.2 脚本中访问参数3.2.1 位置参数:$0:表示脚本名称或命令名。$1, $2, ...:表示第一个、第二个等位置参数。$#:表示传递给
一、教程Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。 Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Shell 脚本Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所说的 shell 通常都是指 shell 脚本,但读者朋
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号