我们经常为固定编译时间,这个时间一般是指 Settings -> About phone -> Kernel version 中的时间,那么,这个时间到底怎么来的呢?
Settings中用于显示Kernel version的关键代码如下:
[Java]
纯文本查看
复制代码
1
2
3
4
5
6
7
8
|
// packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
public
void
onCreate(Bundle icicle) {
...
// 设置版本号
findPreference(KEY_KERNEL_VERSION).setSummary(getFormattedKernelVersion());
...
}
|
[Java]
纯文本查看
复制代码
1
2
3
4
5
6
7
8
|
// packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
public
static
String getFormattedKernelVersion() {
...
// 从"/proc/version"文件中读取编译信息,通过解析,组合出想要显示的版本号
return
formatKernelVersion(readLine(FILENAME_PROC_VERSION));
...
}
|
[Java]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java
public
static
String formatKernelVersion(String rawKernelVersion) {
// Example (see tests for more):
// Linux version 3.0.31-g6fb96c9 ([url=mailto:android-build@xxx.xxx.xxx.xxx.com]android-build@xxx.xxx.xxx.xxx.com[/url]) \
// (gcc version 4.6.x-xxx 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT \
// Thu Jun 28 11:02:39 PDT 2012
final
String PROC_VERSION_REGEX =
|