Android Service - EntropyService
来源:互联网 发布:linux修改文件内容bash 编辑:程序博客网 时间:2024/05/21 10:18
偶然发现Android启动一直停留在开机动画阶段,无法正常进入系统。于是跟踪发现其居然在EntropyService.java->loadInitialEntropy函数read /system/data/entropy.dat时被block住了,导致system server后面的其他service也无法启动。虽然还没有知道root cause,这里还是记录Entropy Service相关知识。
Entropy Service是system server启动的第一个Service,它周期性(每3小时)的加载和保存熵池(/dev/urandom)。但是由于/dev/urandom本身就有的安全性要被/dev/random相对差些,所以每隔三小时,Android系统在kernel的熵池中增加了一些附加信息,这些信息对提高随机数的质量上还是有些帮助的。
Android添加的额外的信息如下:
out.println("Copyright (C) 2009 The Android Open Source Project");
out.println("All Your Randomness Are Belong To Us");
out.println(START_TIME);
out.println(START_NANOTIME);
out.println(SystemProperties.get("ro.serialno"));
out.println(SystemProperties.get("ro.bootmode"));
out.println(SystemProperties.get("ro.baseband"));
out.println(SystemProperties.get("ro.carrier"));
out.println(SystemProperties.get("ro.bootloader"));
out.println(SystemProperties.get("ro.hardware"));
out.println(SystemProperties.get("ro.revision"));
out.println(System.currentTimeMillis());
out.println(System.nanoTime());
其他参考:
http://www.kernel.org/doc/man-pages/online/pages/man4/random.4.html
- Android Service - EntropyService
- EntropyService分析
- [android]service中再启service
- android service
- Android Service
- android service
- Android Service
- Android service
- android service
- Android Service
- Android Service
- Android service
- Android:Service
- Android Service
- [Android] Service
- android service
- android service
- android service
- LNMP一键安装包 0.6 正式发布
- Makefile 的书写规则
- Java生成mdb文件[MS Access文件](转载)
- 建议学习jQuery的步骤!
- 自定义View 实现 TextView 的功能:
- Android Service - EntropyService
- 学习struts2+json简单示例(适于初学json者)
- 开通了
- 使用ViewStub来优化布局
- C语言解析XML文件
- C++虚函数表解析(转)
- C++ 代码技巧_头文件依赖,Pimpl法
- JS 操作框架页
- 玩