getprop 显示的是所有可执行的case?
时间: 2024-04-24 22:22:47 浏览: 7
`getprop` 命令用于获取设备的属性信息,包括系统属性和自定义属性。在 Android 系统中,`oem.test` 属性通常是由设备制造商用于实现 OEM Test 功能的。这些属性通常包括一些测试用例,例如 `oem.test.audio`、`oem.test.camera`、`oem.test.touch` 等。
因此,如果您执行 `getprop | grep oem.test` 命令,会列出所有具有 `oem.test` 前缀的属性和值。其中可能会包括一些测试用例,但不一定全部都是测试用例。
需要注意的是,这些 OEM Test 用例可能只适用于特定的设备,不同设备制造商的 OEM Test 用例可能不同。如果您需要使用这些 OEM Test 用例进行测试,建议先查阅设备制造商提供的文档或者联系其技术支持以获取更详细的信息。
相关问题
adb shell getprop 命令来查询 Android 系统中的所有属性值
可以使用 adb shell getprop 命令来查询 Android 系统中的所有属性值。具体地,可以使用以下命令查询所有属性的值:
```
adb shell getprop
```
执行该命令后,终端会返回 Android 系统中所有属性的当前值。例如,终端可能会返回如下输出:
```
[ro.boot.serialno]: [0123456789ABCDEF]
[ro.build.id]: [AB12CDE34]
[ro.build.type]: [userdebug]
[ro.build.tags]: [test-keys]
[ro.product.brand]: [Google]
[ro.product.model]: [Pixel 5]
[ro.product.name]: [redfin]
...
```
需要注意的是,查询所有属性的值可能会返回大量输出,因此建议将输出重定向到文件中,以便后续查看和分析。例如,可以使用以下命令将输出重定向到文件中:
```
adb shell getprop > prop.txt
```
执行该命令后,终端会将所有属性的值输出到名为“prop.txt”的文件中。
getprop源码
getprop命令是Android系统中的一个工具,用于获取系统属性值。其源码位于system/core/toolbox/getprop.c文件中。
下面是getprop源码中的主要函数:
```c
int main(int argc, char** argv) {
// 读取命令行参数
parse_args(argc, argv);
// 打开系统属性文件
int fd = open(PROP_FILENAME, O_RDONLY | O_CLOEXEC);
if (fd < 0) {
error_exit("could not open '%s': %s", PROP_FILENAME, strerror(errno));
}
// 读取系统属性文件,并输出指定属性的值
char buffer[PROP_VALUE_MAX];
while (ReadPropertyLine(fd, buffer)) {
if (match_prefix(buffer, g_prop_name)) {
printf("%s\n", get_value(buffer));
close(fd);
return 0;
}
}
// 没有找到指定属性
close(fd);
return 1;
}
```
该函数首先调用`parse_args`函数解析命令行参数,然后打开系统属性文件,逐行读取属性值并查找指定属性。如果找到了指定属性,则输出其值并返回0。如果没有找到指定属性,则返回1。
ReadPropertyLine函数用于读取属性文件中的每一行,其实现如下:
```c
static bool ReadPropertyLine(int fd, char* buffer) {
char* p = buffer;
while (true) {
if (read(fd, p, 1) != 1) {
return false;
}
if (*p == '\n') {
*p = '\0';
return true;
}
if (++p - buffer >= PROP_LINE_MAX) {
error_exit("line too long in property file");
}
}
}
```
该函数从指定文件描述符中读取一个字符,并将其存储到缓冲区中。如果读取到换行符,则将其替换为字符串结束符号,并返回true。如果缓冲区已满,则调用`error_exit`函数退出程序。
match_prefix函数用于检查属性是否以指定的前缀开头,其实现如下:
```c
static bool match_prefix(const char* buffer, const char* prefix) {
return strncmp(buffer, prefix, strlen(prefix)) == 0;
}
```
如果属性以指定前缀开头,则返回true。
get_value函数用于获取属性值,其实现如下:
```c
static char* get_value(char* buffer) {
char* value = strchr(buffer, '=');
if (value == NULL) {
error_exit("badly formed property line");
}
// 返回属性值
return value + 1;
}
```
该函数在属性行中查找等号(=),并返回等号后面的字符串作为属性值。
以上就是getprop命令的源码实现。