行至水穷处,坐看云起时

  • rss
  • 博客首页
  • 音乐故事
  • 摄影相册
  • 站点导航
  • 与我联络

Android系统文件夹结构解析

2010-12-22 | 15:18

\system\app
这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。下面是详细的介绍:
\system\app\AlarmClock.apk 闹钟
\system\app\AlarmClock.odex
\system\app\Browser.apk 浏览器
\system\app\Browser.odex
\system\app\Bugreport.apk Bug报告
\system\app\Bugreport.odex
\system\app\Calculator.apk 计算器
\system\app\Calculator.odex
\system\app\Calendar.apk 日历
\system\app\Calendar.odex
\system\app\CalendarProvider.apk 日历提供
\system\app\CalendarProvider.odex
\system\app\Camera.apk 照相机
\system\app\Camera.odex
\system\app\com.amazon.mp3.apk 亚马逊音乐
\system\app\Contacts.apk 联系人
\system\app\Contacts.odex
\system\app\DownloadProvider.apk 下载提供
\system\app\DownloadProvider.odex
\system\app\DrmProvider.apk DRM数字版权提供
\system\app\DrmProvider.odex
\system\app\Email.apk 电子邮件客户端
\system\app\Email.odex
\system\app\FieldTest.apk 测试程序
\system\app\FieldTest.odex
\system\app\GDataFeedsProvider.apk GoogleData提供
\system\app\GDataFeedsProvider.odex
\system\app\Gmail.apk Gmail电子邮件
\system\app\Gmail.odex
\system\app\GmailProvider.apk Gmail提供
\system\app\GmailProvider.odex
\system\app\GoogleApps.apk 谷歌程序包
\system\app\GoogleApps.odex
\system\app\GoogleSearch.apk 搜索工具
\system\app\GoogleSearch.odex
\system\app\gtalkservice.apk GTalk服务
\system\app\gtalkservice.odex
\system\app\HTMLViewer.apk HTML查看器
\system\app\HTMLViewer.odex
\system\app\IM.apk 即使通讯组件包含MSN、yahoo通
\system\app\ImCredentialProvider.apk
\system\app\ImProvider.apk
\system\app\ImProvider.odex
\system\app\Launcher.apk 启动加载器
\system\app\Launcher.odex
\system\app\Maps.apk 电子地图
\system\app\Maps.odex
\system\app\MediaProvider.apk 多媒体播放提供
\system\app\MediaProvider.odex
\system\app\Mms.apk 短信、彩信
\system\app\Mms.odex
\system\app\Music.apk 音乐播放器
\system\app\Music.odex
\system\app\MyFaves.apk T-Mobile MyFaves程序
\system\app\MyFaves.odex
\system\app\PackageInstaller.apk apk安装程序
\system\app\PackageInstaller.odex
\system\app\Phone.apk 电话拨号器
\system\app\Phone.odex
\system\app\Settings.apk 系统设置
\system\app\Settings.odex
\system\app\SettingsProvider.apk 设置提供
\system\app\SettingsProvider.odex
\system\app\SetupWizard.apk 设置向导
\system\app\SetupWizard.odex
\system\app\SoundRecorder.apk 录音工具
\system\app\SoundRecorder.odex
\system\app\Street.apk 街景地图
\system\app\Street.odex
\system\app\Sync.apk 同步程序
\system\app\Sync.odex
\system\app\Talk.apk 语音程序
\system\app\Talk.odex
\system\app\TelephonyProvider.apk 电话提供
\system\app\TelephonyProvider.odex
\system\app\Updater.apk 更新程序
\system\app\Updater.odex
\system\app\Vending.apk 制造商信息
\system\app\Vending.odex
\system\app\VoiceDialer.apk 语音拨号器
\system\app\VoiceDialer.odex
\system\app\YouTube.apk Youtube视频
\system\app\YouTube.odex

--------------------------------------------------------------------------------

\system\bin
这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:
\system\bin\akmd
\system\bin\am
\system\bin\app_process 系统进程
\system\bin\dalvikvm Dalvik虚拟机宿主
\system\bin\dbus-daemon 系统BUS总线监控
\system\bin\debuggerd 调试器
\system\bin\debug_tool 调试工具
\system\bin\dexopt DEX选项
\system\bin\dhcpcd DHCP服务器
\system\bin\dumpstate 状态抓取器
\system\bin\dumpsys 系统抓取器
\system\bin\dvz
\system\bin\fillup
\system\bin\flash_image 闪存映像
\system\bin\hciattach
\system\bin\hcid HCID内核
\system\bin\hostapd
\system\bin\hostapd_cli
\system\bin\htclogkernel
\system\bin\input
\system\bin\installd
\system\bin\itr
\system\bin\linker
\system\bin\logcat Logcat日志打印
\system\bin\logwrapper
\system\bin\mediaserver
\system\bin\monkey
\system\bin\mountd 存储挂载器
\system\bin\netcfg 网络设置
\system\bin\ping Ping程序
\system\bin\playmp3 MP3播放器
\system\bin\pm 包管理器
\system\bin\qemud QEMU虚拟机
\system\bin\radiooptions 无线选项
\system\bin\rild RIL组件
\system\bin\sdptool
\system\bin\sdutil
\system\bin\service
\system\bin\servicemanager 服务管理器
\system\bin\sh
\system\bin\ssltest SSL测试
\system\bin\surfaceflinger 触摸感应驱动
\system\bin\svc 服务
\system\bin\system_server
\system\bin\telnetd Telnet组件
\system\bin\toolbox
\system\bin\wlan_loader
\system\bin\wpa_cli
\system\bin\wpa_supplicant

--------------------------------------------------------------------------------

\system\etc
从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
\system\etc\apns-conf.xml APN接入点配置文件
\system\etc\AudioFilter.csv 音频过滤器配置文件
\system\etc\AudioPara4.csv
\system\etc\bookmarks.xml 书签数据库
\system\etc\dbus.conf 总线监视配置文件
\system\etc\dhcpcd
\system\etc\event-log-tags
\system\etc\favorites.xml 收藏夹
\system\etc\firmware 固件信息
\system\etc\gps.conf GPS设置文件
\system\etc\hcid.conf内核HCID配置文件
\system\etc\hosts 网络DNS缓存
\system\etc\init.goldfish.sh
\system\etc\location 定位相关
\system\etc\mountd.conf 存储挂载配置文件
\system\etc\NOTICE.html 提示网页
\system\etc\permissions.xml 权限许可
\system\etc\pvplayer.conf
\system\etc\security
\system\etc\wifi WLAN相关组件
\system\etc\dhcpcd\dhcpcd-hooks
\system\etc\dhcpcd\dhcpcd-run-hooks
\system\etc\dhcpcd\dhcpcd.conf
\system\etc\dhcpcd\dhcpcd-hooks\01-test
\system\etc\dhcpcd\dhcpcd-hooks\20-dns.conf
\system\etc\dhcpcd\dhcpcd-hooks\95-configured
\system\etc\firmware\brf6300.bin
\system\etc\location\gps
\system\etc\location\gps\location 定位相关
\system\etc\location\gps\nmea GPS数据解析
\system\etc\location\gps\properties
\system\etc\security\cacerts.bks
\system\etc\security\otacerts.zip OTA下载验证
\system\etc\wifi\Fw1251r1c.bin
\system\etc\wifi\tiwlan.ini
\system\etc\wifi\wpa_supplicant.conf WPA验证组件

--------------------------------------------------------------------------------

\system\fonts
字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小
\system\fonts\DroidSans-Bold.ttf
\system\fonts\DroidSans.ttf
\system\fonts\DroidSansFallback.ttf
\system\fonts\DroidSansMono.ttf
\system\fonts\DroidSerif-Bold.ttf
\system\fonts\DroidSerif-BoldItalic.ttf
\system\fonts\DroidSerif-Italic.ttf
\system\fonts\DroidSerif-Regular.ttf

--------------------------------------------------------------------------------

\system\framework
framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
\system\framework\am.jar
\system\framework\am.odex
\system\framework\android.awt.jar AWT库
\system\framework\android.awt.odex
\system\framework\android.policy.jar
\system\framework\android.policy.odex
\system\framework\android.test.runner.jar
\system\framework\android.test.runner.odex
\system\framework\com.google.android.gtalkservice.jar GTalk服务
\system\framework\com.google.android.gtalkservice.odex
\system\framework\com.google.android.maps.jar 电子地图库
\system\framework\com.google.android.maps.odex
\system\framework\core.jar 核心库,启动桌面时首先加载这个
\system\framework\core.odex
\system\framework\ext.jar
\system\framework\ext.odex
\system\framework\framework-res.apk
\system\framework\framework-tests.jar
\system\framework\framework-tests.odex
\system\framework\framework.jar
\system\framework\framework.odex
\system\framework\input.jar 输入库
\system\framework\input.odex
\system\framework\itr.jar
\system\framework\itr.odex
\system\framework\monkey.jar
\system\framework\monkey.odex
\system\framework\pm.jar 包管理库
\system\framework\pm.odex
\system\framework\services.jar
\system\framework\services.odex
\system\framework\ssltest.jar
\system\framework\ssltest.odex
\system\framework\svc.jar 系统服务
\system\framework\svc.odex

--------------------------------------------------------------------------------

\system\lib
lib目录中存放的主要是系统底层库,如平台运行时库。
\system\lib\libaes.so
\system\lib\libagl.so
\system\lib\libandroid_runtime.so Android运行时库
\system\lib\libandroid_servers.so 系统服务组件
\system\lib\libaudio.so 音频处理
\system\lib\libaudioeq.so EQ均衡器
\system\lib\libaudioflinger.so 音频过滤器
\system\lib\libbluetooth.so 蓝牙组件
\system\lib\libc.so
\system\lib\libcamera.so 超相机组件
\system\lib\libcameraservice.so
\system\lib\libcorecg.so
\system\lib\libcrypto.so 加密组件
\system\lib\libctest.so
\system\lib\libcutils.so
\system\lib\libdbus.so
\system\lib\libdl.so
\system\lib\libdrm1.so DRM解析库
\system\lib\libdrm1_jni.so
\system\lib\libdvm.so
\system\lib\libexif.so
\system\lib\libexpat.so
\system\lib\libFFTEm.so
\system\lib\libGLES_CM.so
\system\lib\libgps.so
\system\lib\libhardware.so
\system\lib\libhgl.so
\system\lib\libhtc_ril.so
\system\lib\libicudata.so
\system\lib\libicui18n.so
\system\lib\libicuuc.so
\system\lib\liblog.so
\system\lib\libm.so
\system\lib\libmedia.so
\system\lib\libmediaplayerservice.so
\system\lib\libmedia_jni.so
\system\lib\libnativehelper.so
\system\lib\libnetutils.so
\system\lib\libOmxCore.so
\system\lib\libOmxH264Dec.so
\system\lib\libpixelflinger.so
\system\lib\libpvasf.so
\system\lib\libpvasfreg.so
\system\lib\libpvauthor.so
\system\lib\libpvcommon.so
\system\lib\libpvdownload.so
\system\lib\libpvdownloadreg.so
\system\lib\libpvmp4.so
\system\lib\libpvmp4reg.so
\system\lib\libpvnet_support.so
\system\lib\libpvplayer.so
\system\lib\libpvrtsp.so
\system\lib\libpvrtspreg.so
\system\lib\libqcamera.so
\system\lib\libreference-ril.so
\system\lib\libril.so
\system\lib\librpc.so
\system\lib\libsgl.so
\system\lib\libsonivox.so
\system\lib\libsoundpool.so
\system\lib\libsqlite.so
\system\lib\libssl.so
\system\lib\libstdc++.so
\system\lib\libsurfaceflinger.so
\system\lib\libsystem_server.so
\system\lib\libthread_db.so
\system\lib\libUAPI_jni.so
\system\lib\libui.so
\system\lib\libutils.so
\system\lib\libvorbisidec.so
\system\lib\libwbxml.so
\system\lib\libwbxml_jni.so
\system\lib\libwebcore.so
\system\lib\libwpa_client.so
\system\lib\libxml2wbxml.so
\system\lib\libz.so
\system\lib\modules
\system\lib\modules\wlan.ko

--------------------------------------------------------------------------------

\system\media
铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音
\system\media\audio
\system\media\audio\alarms 闹铃音
\system\media\audio\notifications 提示音
\system\media\audio\ringtones 铃声
\system\media\audio\ui 界面操作事件音
\system\media\audio\alarms\Alarm_Beep_01.ogg
\system\media\audio\alarms\Alarm_Beep_02.ogg
\system\media\audio\alarms\Alarm_Beep_03.ogg
\system\media\audio\alarms\Alarm_Buzzer.ogg
\system\media\audio\alarms\Alarm_Classic.ogg
\system\media\audio\alarms\Alarm_Rooster_02.ogg
\system\media\audio\notifications\Beat_Box_Android.ogg
\system\media\audio\notifications\CaffeineSnake.ogg
\system\media\audio\notifications\DearDeer.ogg
\system\media\audio\notifications\DontPanic.ogg
\system\media\audio\notifications\F1_MissedCall.ogg
\system\media\audio\notifications\F1_New_MMS.ogg
\system\media\audio\notifications\F1_New_SMS.ogg
\system\media\audio\notifications\Heaven.ogg
\system\media\audio\notifications\Highwire.ogg
\system\media\audio\notifications\KzurbSonar.ogg
\system\media\audio\notifications\OnTheHunt.ogg
\system\media\audio\notifications\TaDa.ogg
\system\media\audio\notifications\Tinkerbell.ogg
\system\media\audio\notifications\Voila.ogg
\system\media\audio\ringtones\BeatPlucker.ogg
\system\media\audio\ringtones\BentleyDubs.ogg
\system\media\audio\ringtones\BirdLoop.ogg
\system\media\audio\ringtones\CaribbeanIce.ogg
\system\media\audio\ringtones\CrazyDream.ogg
\system\media\audio\ringtones\CurveBall.ogg
\system\media\audio\ringtones\DreamTheme.ogg
\system\media\audio\ringtones\EtherShake.ogg
\system\media\audio\ringtones\FriendlyGhost.ogg
\system\media\audio\ringtones\GameOverGuitar.ogg
\system\media\audio\ringtones\Growl.ogg
\system\media\audio\ringtones\InsertCoin.ogg
\system\media\audio\ringtones\LoopyLounge.ogg
\system\media\audio\ringtones\LoveFlute.ogg
\system\media\audio\ringtones\MidEvilJaunt.ogg
\system\media\audio\ringtones\MildlyAlarming.ogg
\system\media\audio\ringtones\NewPlayer.ogg
\system\media\audio\ringtones\Noises1.ogg
\system\media\audio\ringtones\Noises2.ogg
\system\media\audio\ringtones\Noises3.ogg
\system\media\audio\ringtones\OrganDub.ogg
\system\media\audio\ringtones\Ring_Classic_02.ogg
\system\media\audio\ringtones\Ring_Digital_02.ogg
\system\media\audio\ringtones\Ring_Synth_02.ogg
\system\media\audio\ringtones\Ring_Synth_04.ogg
\system\media\audio\ringtones\RomancingTheTone.ogg
\system\media\audio\ringtones\SitarVsSitar.ogg
\system\media\audio\ringtones\SpringyJalopy.ogg
\system\media\audio\ringtones\T-Jingle.ogg
\system\media\audio\ringtones\Terminated.ogg
\system\media\audio\ringtones\TwirlAway.ogg
\system\media\audio\ringtones\VeryAlarmed.ogg
\system\media\audio\ringtones\World.ogg
\system\media\audio\ui\Effect_Tick.ogg

--------------------------------------------------------------------------------

\system\sounds
默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
\system\sounds\test.mid

--------------------------------------------------------------------------------

\system\usr
用户文件夹,包含共享、键盘布局、时间区域文件等。
\system\usr\keychars
\system\usr\keylayout
\system\usr\share
\system\usr\srec
\system\usr\keychars\qwerty.kcm.bin
\system\usr\keychars\qwerty2.kcm.bin
\system\usr\keychars\trout-keypad-qwertz.kcm.bin
\system\usr\keychars\trout-keypad-v2.kcm.bin
\system\usr\keychars\trout-keypad-v3.kcm.bin
\system\usr\keychars\trout-keypad.kcm.bin
\system\usr\keylayout\h2w_headset.kl
\system\usr\keylayout\qwerty.kl
\system\usr\keylayout\trout-keypad-qwertz.kl
\system\usr\keylayout\trout-keypad-v2.kl
\system\usr\keylayout\trout-keypad-v3.kl
\system\usr\keylayout\trout-keypad.kl
\system\usr\share\bsk
\system\usr\share\zoneinfo
\system\usr\share\bsk\V_FD_speed_101.bsk
\system\usr\share\bsk\V_FD_std_101.bsk
\system\usr\share\zoneinfo\zoneinfo.dat
\system\usr\share\zoneinfo\zoneinfo.idx
\system\usr\srec\config
\system\usr\srec\config\en.us
\system\usr\srec\config\en.us\baseline.par
\system\usr\srec\config\en.us\baseline11k.par
\system\usr\srec\config\en.us\baseline8k.par
\system\usr\srec\config\en.us\dictionary
\system\usr\srec\config\en.us\g2p
\system\usr\srec\config\en.us\grammars
\system\usr\srec\config\en.us\models
\system\usr\srec\config\en.us\dictionary\basic.ok
\system\usr\srec\config\en.us\dictionary\cmu6plus.ok.zip
\system\usr\srec\config\en.us\dictionary\enroll.ok
\system\usr\srec\config\en.us\g2p\en-US-ttp.data
\system\usr\srec\config\en.us\grammars\VoiceDialer.g2g
\system\usr\srec\config\en.us\models\generic.swiarb
\system\usr\srec\config\en.us\models\generic11.lda
\system\usr\srec\config\en.us\models\generic11_f.swimdl
\system\usr\srec\config\en.us\models\generic11_m.swimdl
\system\usr\srec\config\en.us\models\generic8.lda
\system\usr\srec\config\en.us\models\generic8_f.swimdl

Comments
没有留言 »
分类
android
Tags
android, linux, 安卓, 手机
订阅RSS留言 订阅RSS留言
Trackback Trackback

[强人刷机]第三讲、安卓的系统ROM

| 14:58

A。名词解释
1. ROM,RAM,Flash Memory
ROM(Read Only Memory)的全名为只读记忆体,是PPC上的硬盘部分用来存储和保存数据。ROM数据不能随意更新,但是在任何时候都可以读取。即使是断电,ROM也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途

RAM(Random Access Memory)的全名为随机存储记忆体,是PPC上的移动存储部分,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)
         
Flash Memory,由于ROM不易更改的特性让更新资料变得相当麻烦,因此就有了Flash Memory的发展 ,Flash Memory具有ROM不需电力维持资料的好处,又可以在需要的时候任意更改资料,我们常见的FLASH Memory有TF卡(全名:TransFLash卡),SD卡(全名:Secure Digital Memory Card),CF卡(全名:Compact Flash卡)等。
2. XIP,IPL,SPL,RADIO
XIP(Execute In Place)中文意:立即执行。XIP所起到的作用是让操作系统内核直接在Flash中运行,不需要拷贝到RAM,即指操作系统或应用程序直接从非易失性存储器中执行,这样减少了内核从闪速存储器拷贝到RAM的时间,其采用的非压缩映像也减少了内核自解压的时间,换句话说,XIP直接决定了PPC系统运行和加载程序的时间,也就是直接决定了PPC系统的运行速度。

IPL(全称:InitialProgramLoader)中文意:首次装载系统,其负责主板,电源、硬件初始化程序,并把SPL装入RAM,如果IPL损坏,由于不能加载SPL,所以机器将不能装载任何由SPL完成装载的OS系统。

SPL(全称:SecondProgramLoader)中文意:第二次装系统,就是负责装载OS操作系统到RAM中,SPL损坏了我们可以烧录机这样的设备来重新写入,或者还可以通过刷入初始的ROM版本来实现重写SPL,我们俗称“寻找原厂ROM救砖”

RADIO,字面理解:无线电通讯,其负责着PPC作为手机功能的通讯功能方面,包括它的电话和上网功能,事实上,RADIO硬件模块已经在手机出厂时已经内置,我们所刷入的不过是作为软件应用层面的东西,因为软件层面的东西决定了RADIO硬件模块接收和传递信号的频段分配,所以硬件RADIO的称谓已经被弱化,我们把这种RADIO软件层面的东东一律称为RADIO。
3. 刷ROM,刷RADIO,解锁,永久解锁
刷ROM,意指将新的ROM刷入PPC,ROM部分包含:IPL、SPL、OS、EXTROM、RADIO、STORAGE等,目前来说,我们刷入的ROM绝大多数只包含OS部分,OS部分包含两个东东:XIP、 IMGFS,而这两个正是影响系统层面的主要因素,鉴于其他部分,因为涉及到核心层面的重新写入,可另行重写,所以我们在此进行了抛弃,为了省事,也降低了一次性刷入的风险。

刷RADIO,简单的说就是刷入新的RADIO模块的应用软件,不同的地区不同的通讯服务网络,无线通讯基站在接收和发送无线信号上的频段各有不同,那么处于这个地区和这个通讯服务网络之内的RADIO硬件模块,在频段调整上越接近于本地基站,手机的通讯信号就会越好,信号接收和发送就会越完整越快速,信号搜索上也会越稳定,从而使我们的PPC信号强劲又省电,运营商新的RADIO是根据其基站的新的频段来调整的,所以随着时间的推移,当基站有所升级其频段有所调整的时候,新RADIO的刷入就很有必要了。

解锁,随便解释一下吧,PPC机器在出厂的时候对机器内部核心的CID地址段进行了上锁,上锁的原理是基于微软对于开放性的WM系统所提供的一种特权保护机制,该机制对应用程序能够访问的系统资源作了限制,而厂家正是利用这一点实现了对系统ROM的锁定,锁定的目的一方面是为了个不同机型间的区别和独立性,更大的原因是保障厂家对WM系统推陈出新上的独立自主权,锁定被集中在机器CID地址段上,不同CID的ROM相互之间不能进行交互性的替换,如果强行刷入CID不同的ROM,将无法通过CID校验,严重的会出现系统无法修复的现象,由此PPC玩机的"江湖大侠"们便做起了文章,衍生出一种通过CID地址段欺骗的手段来对上锁的CID进行破解,破解过的CID刷入后,再刷入其他不同CID的ROM将极大可能地通过校验(但不是100%都可行)从而将新的ROM写入机器.

永久解锁,江湖又称SuperCID,此种新破解的CID和上面的相比具备更大的优势在于新ROM作刷入操作的时候,如若操作失败,原机系统将不会受到较大损伤,就算造成损伤也很容易被修复,所以我们常称此种解锁能使PPC“拥有不坏之身”。
4. 重启,硬启,定屏,假死,死机
重启,人人都懂的问题,和PC重启的机制是一样的,ROM中的数据全部保存完好,但是RAM中的数据全部丢失,正因此,通过重启可以解决RAM中运行不正常的现象,比如系统运行中的死机,比如程序模块找不到等问题,大部分的机器都会在一定时间内做重启操作,不是因为断电,而是由于机器运行一段时间之后会有相当一部分的垃圾缓存在RAM中,这是由于我们频繁操作机器造成的,众所周知,RAM剩余得越少,机器运行可用的运行空间就越小,机器的速度也会越慢,耗电量也会增大,那么重启机器在关机的一瞬间RAM里的所有数据全部丢失,包括系统垃圾,在重新开机之后,系统会重新加载应用程序,这时候RAM是一个相对干净的空间。重启的方式大家都知道,连我地球人也知道了,通过电源键,通过系统应用程序,通过桶PP。

硬启,和重启一样都需要重新启动机器,所不同的是硬启将丢失所有ROM和RAM中的数据,而重启只丢失RAM,硬启后系统会自动还原为初始状态,所有的设定要重新来做,所有的资料要重新拷贝进去,貌似PC上的一键还原机制;硬启的原理是利用机器自身进行了格式化,所不同的是格式化之后机器ROM里的初始数据将被重新调出,这个初值数据一直都存在于ROM之中,你无法删除,纵使你作了替换修改等操作,貌似已经修改了数据,其实不然,只是被系统暂时隐藏了,那么在实行硬启格式化ROM之后,重启机器初始数据会被调处进行加载。硬启操作一般大家不常用,除非系统ROM里出现了无法修复的错误导致机器不能正常运行,那就只能通过硬启来修复系统,硬启的方式地球人都知道,按住挂断和接听两个硬按键桶PP,或者1234清除内存。

定屏,顾名思义,就是屏幕定住不动不理会你的操作,PPC中的定屏现象主要指的是在开机三屏(或者两屏)上,正常情况下开机之后随着系统的加载,开机屏幕会逐步跳过直到出现调整的界面,但是因为ROM制作中出现错误或者遗漏,导致新ROM刷入之后开机屏幕跳不过去了,无论你等待多长时间,手机屏幕定格在那不动了,无法进入系统,导致刷机失败,之所以解释定屏是因为在后面的解决疑难杂症里会用到这个词。

假死,又称睡死,非真正的死机现象,假死现象指的是机器表面上运行正常,但是后台的部分应用程序不能被激发,比如在待机模式下电话呼入屏幕无显示无铃声,比如在操作某项程序的时候出现激发暂时性无反应或者反应延时过长。
5. 三色屏
三色屏,因该模式下屏幕上呈现三种色彩而得名,三色屏模式最直接的作用是用于查看机器IPL值和SPL值,以识别手机是否成功解锁,间接作用是在模式下可以进行刷机操作。所有的刷机操作必定要在三色屏模式下实现,不论你是直刷还是卡刷;手动进入三色屏的方法是按住相机键捅PP重启手机,至于其他关于三色屏的内容留到后面再讲。

B。系统原理
   
微软的WM系统平台和其PC系统平台有着惊人的相似性,而IPL与SPL实质为WM的Bootloader里的两大组成部份,前面说了,IPL负责主板,电源、硬件初始化程序、并把SPL装入RAM的,SPL则是负责装载OS操作系统中的,所以开机启动顺序是IPL>SPL>OS,SPL还提供检测手机硬件、寻找系统启动分区、启动操作系统为系统的基本维护提供操作界面以及检测SD卡等,像我们执行刷机操作的时候,也是SPL在发挥作用,比如连接电脑同步,进入三色等。

在SPL装载OS的时候,前面我们提到OS分区又分为XIP、 IMGFS两部分,系统启动时SPL加载OS分区的XIP到RAM执行,XIP就是WINCE XIP KERNEL,是CE核心部分,XIP是为eXecute In Place的缩写,在微软的CE定义中,这块区域存放的是以非压缩格式存放,不需加载,由Bootloader直接调用执行。XIP部分大约3MB,包括nk.exe、device.exe等核心程序,就像 PC上的ntoskrnl.exe等。IMGFS就像一个压缩的GHOST文件,包括了WM的所有系统文件。CE核心启动后就可以访问IMGFS文件系统上的OS需要的所有文件了,IMGFS是XPR或LZX压缩格式,系统访问上面的文件会自动解压到RAM。因为普通PE文件调入RAM执行要进行地址重定位,为了提高效率,IMGFS中的文件可以是重定位好的模块形式,这些程序运行就不用再重定位了,直接调入RAM中保留的PagePool(缓冲池)执行。

刷机就是重写OS分区了,用PDOCREAD可以把整个OS分区读成一个NB镜象文件,然后把镜象解开到DUMP文件夹,就是所有ROM的文件了。文件分2种,一种是普通文件,另一种是XIP(ExecInPlace)模块,这是为了加快OS运行设计的,就是这些文件可以不调入RAM而直接在ROM执行,但因为现在都是NAND ROM,所以XIP模块其实还是要调入RAM的PAGEPOOL执行。
但是由于XIP模块有很多地址信息,所以移植OS最难的就是这了。

hcphs的定制法
http://www.android.net/bbs/viewthread.php?tid=10627&extra=page%3D1%26amp;filter%3Dtype%26amp;typeid%3D5

Comments
没有留言 »
分类
android
Tags
android, linux, 安卓, 手机
订阅RSS留言 订阅RSS留言
Trackback Trackback

[强人刷机]第一讲、安卓的结构

| 14:52

红色部分:Linux 内核
绿色部分:库(都是基于C来编写)
    Surface Manager 窗口的支持
    OpenGL SGl 2D,3D的支持
    Media Framework 媒体的支持
    FreeType  字体的支持
    SSL  安全的支持
    SQLite  数据库的支持
    WebKit  浏览器的引擎
    libc 
黄色部分:Android 运行
    Google提供了自己的Dalvik虚拟机(专门针对嵌入式设备来编写的)
    虚拟机之上,就是JAVA的核心库。
蓝色部分:Application Framework (全部都是JAVA来写的代码)
    应用程序框架。

Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次:
第一、操作系统层(OS)
第二、各种库(Libraries)和Android 运行环境(RunTime)
第三、应用程序框架(Application Framework)
第四、应用程序(Application)
    以下分别介绍Andoid各个层次的软件的重点及其相关技术:

● 操作系统层(OS)
    Android使用Linux2.6作为操作系统,Linux2.6是一种标准的技术,Linux也是一个开放的操作系统。Android对操作系统的使用包括核心和驱动程序两部分,Android的Linux核心为标准的Linux2.6内核,Android更多的是需要一些与移动设备相关的驱动程序。主要的驱动如下所示:
    显示驱动(Display Driver):常用基于Linux的帧缓冲(Frame Buffer)驱动。
    Flash内存驱动(Flash Memory Driver)
    照相机驱动(Camera Driver):常用基于Linux的v4l(Video for )驱动。
    音频驱动(Audio Driver):常用基于ALSA(Advanced Linux Sound Architecture,高级Linux声音体系)驱动。
    WiFi驱动(Camera Driver):基于IEEE 802.11标准的驱动程序
    键盘驱动(KeyBoard Driver)
    蓝牙驱动(Bluetooth Driver)
    Binder IPC驱动: Andoid一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。
    Power Management(能源管理)

● 各种库(Libraries)和Android 运行环境(RunTime)
    本层次对应一般嵌入式系统,相当于中间件层次。Android的本层次分成两个部分一个是各种库,另一个是Android 运行环境。本层的内容
大多是使用C++实现的。
    在其中,各种库包括:
    ▅ C库:C语言的标准库,这也是系统中一个最为底层的库,C库是通过Linux的系统调用来实现。
    ▅ 多媒体框架(MediaFrameword):这部分内容是Android多媒体的核心部分,基于PacketVideo(即PV)的OpenCORE,从功能上本库一共
分为两大部分,一个部分是音频、视频的回放(PlayBack),另一部分是则是音视频的纪录(Recorder)。
    ▅ SGL:2D图像引擎。
    ▅ SSL:即Secure Socket Layer位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
    ▅ OpenGL ES 1.0 :本部分提供了对3D的支持。
    ▅ 界面管理工具(Surface Management):本部分提供了对管理显示子系统等功能。
    ▅ SQLite:一个通用的嵌入式数据库
    ▅ WebKit:网络浏览器的核心
    ▅ FreeType:位图和矢量字体的功能。
       Android 的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设备的平台的应用密切相关。

        Android 运行环境主要指的虚拟机技术——Dalvik。Dalvik虚拟机和一般JAVA虚拟机(Java VM)不同,它执行的不是JAVA标准的字节码(bytecode )而是Dalvik可执行格式(.dex)中执行文件。在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。    二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。

● 应用程序框架(Application Framework)
      Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以JAVA构建的,因此本
层次提供的首先包含了UI程序中所需要的各种控件:
      例如: Views (视图组件)包括 lists(列表), grids(栅格), text boxes(文本框), buttons(按钮)等。甚至一个嵌入式的Web浏览器。
   一个Andoid的应用程序可以利用应用程序框架中的以下几个部分:
   Activity (活动)
   Broadcast Intent Receiver (广播意图接收者)
   Service (服务)
   Content Provider (内容提供者)

● 应用程序(Application)
   Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程序编写,其中还可以包含各种资源文件(放置在res目录中)JAVA程序及相关资源经过编译后,将生成一个APK包。Android本身提供了主屏幕(Home),联系人(Contact),电话(Phone),浏览器(Browers)等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。这也是Android开源的巨大潜力的体现。
我们再来了解一下 安卓系统内文件名的含义

如图

 

好了~大概了解了安卓系统

我们再来看看HTC 有啥!

如图
android-info.txt..........................包含手机系统软件版本信息

boot.img..................................手机启动时的必要系统与recovery.img类似,但有所区别(详见 http://www.hiapk.com/bbs/thread-6391-1-1.html )

hboot_7227_0.43.0001_100218.nb0...........(详见http://222.77.181.28/bbs/viewthread.php?tid=161233 小白的狂想~)

radio.img.................................无线协议

rcdata.img................................

recovery.img..............................恢复时启动的系统,包含一些硬件底层的驱动~

Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级。

升级一般通过运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级,脚本中是一组recovery系统能识别的UI控制,文件系统操作命令,例如write_raw_image(写FLASH分区),copy_dir(复制目录)。该包一般被下载至SDCARD和CACHE分区下。如果对该包内容感兴趣,可以从http://forum.xda-developers.com/showthread.php?t=442480下载JF升级包来看看。

升级中还涉及到包的数字签名,签名方式和普通JAR文件签名差不错。公钥会被硬编译入recovery,编译时生成在:out/target/product/XX/obj/PACKAGING/ota_keys_inc_intermediates/keys.inc

三种启动模式
MAGIC KEY:

camera + power:bootloader模式,ADP里则可以使用fastboot模式

home + power:recovery模式

正常启动

Bootloader正常启动,又有三种方式,按照BCB(Bootloader Control Block, 下节介绍)中的command分类:

command == 'boot-recovery' → 启动recovery.img。recovery模式

command == 'update-radio/hboot' → 更新firmware(bootloader)

其他 → 启动boot.img

Recovery涉及到的其他系统及文件
CACHE分区文件

Recovery 工具通过NAND cache分区上的三个文件和主系统打交道。主系统(包括恢复出厂设置和OTA升级)可以写入recovery所需的命令,读出recovery过程中的LOG和intent。
/cache/recovery/command: recovery命令,由主系统写入。所有命令如下:
--send_intent=anystring - write the text out to recovery.intent
--update_package=root:path - verify install an OTA package file
--wipe_data - erase user data (and cache), then reboot
--wipe_cache - wipe cache (but not user data), then reboot
/cache/recovery/log:recovery过程日志,由主系统读出
/cache/recovery/intent:recovery输出的intent
MISC分区内容

Bootloader Control Block (BCB) 存放recovery bootloader message。结构如下:

struct bootloader_message {

char command[32];

char status[32]; // 未知用途

char recovery[1024];

};

command可以有以下两个值

“boot-recovery”:标示recovery正在进行,或指示bootloader应该进入recovery mode

“update-hboot/radio”:指示bootloader更新firmware

recovery内容

“recoveryn

<recovery command>n

<recovery command>”

其中recovery command为CACHE:/recovery/command命令
两种Recovery Case
FACTORY RESET(恢复出厂设置)

用户选择“恢复出厂设置”
设置系统将"--wipe_data"命令写入/cache/recovery/command
系统重启,并进入recover模式(/sbin/recovery)
get_args() 将 "boot-recovery"和"--wipe_data"写入BCB
erase_root() 格式化(擦除)DATA分区
erase_root() 格式化(擦除)CACHE分区
finish_recovery() 擦除BCB
重启系统
OTA INSTALL(OTA升级)

升级系统下载 OTA包到/cache/some-filename.zip
升级系统写入recovery命令"--update_package=CACHE:some-filename.zip"
重启,并进入recovery模式
get_args() 将"boot-recovery" 和 "--update_package=..." 写入BCB
install_package() 作升级
finish_recovery() 擦除 BCB
** 如果安装包失败 ** prompt_and_wait() 等待用户操作,选择ALT+S或ALT+W 升级或恢复出厂设置
main() 调用 maybe_install_firmware_update()
如果包里有hboot/radio的firmware则继续,否则返回
将 "boot-recovery" 和 "--wipe_cache" 写入BCB
将 firmware image写入cache分区
将 "update-radio/hboot" 和 "--wipe_cache" 写入BCB
重启系统
bootloader自身更新firmware
bootloader 将 "boot-recovery" 写入BCB
erase_root() 擦除CACHE分区
清除 BCB
main() 调用 reboot() 重启系统

Recovery模式流程

/init → init.rc → /sbin/recovery →
main():recovery.c

ui_init():ui.c [UI initialize]
gr_init():minui/graphics.c [set tty0 to graphic mode, open fb0]
ev_init():minui/events.c [open /dev/input/event*]
res_create_surface:minui/resource.c [create surfaces for all bitmaps used later, include icons, bmps]
create 2 threads: progress/input_thread [create progress show and input event handler thread]
get_args():recovery.c
get_bootloader_message():bootloader.c [read mtdblock0(misc partition) 2nd page for commandline]
check if nand misc partition has boot message. If yes, fill argc/argv.
If no, get arguments from /cache/recovery/command, and fill argc/argv.
set_bootloader_message():bootloader.c [set bootloader message back to mtdblock0]
Parser argv[] filled above
register_update_commands():commands.c [ register all commands with name and hook function ]
registerCommand():commands.c
Register command with name, hook, type, cookie.
Commands, e.g: assert, delete, copy_dir, symlink, write_raw_image.
registerFunction():commands.c
Register function with name, hook, cookie.
Function, e.g: get_mark, matches, getprop, file_contains
install_package():
translate_root_path():roots.c [ "SYSTEM:lib" and turns it into a string like "/system/lib", translate the updater.zip path ]
mzOpenZipArchive():zip.c [ open updater.zip file (uncompass) ]
handle_update_package():install.c
verify_jar_signature():verifier.c [ verify signature with keys.inc key; verify manifest and zip package archive ]
verifySignature() [ verify the signature file: CERT.sf/rsa. ]
digestEntry():verifier.c [ get SHA-1 digest of CERT.sf file ]
RSA_verify(public key:keys.inc, signature:CERT.rsa, CERT.sf's digest):libc/rsa.c [ Verify a 2048 bit RSA PKCS1.5 signature against an expected SHA-1 hash. Use public key to decrypt the CERT.rsa to get original SHA digest, then compare to digest of CERT.sf ]
verifyManifest() [ Get manifest SHA1-Digest from CERT.sf. Then do digest to MANIFEST.MF. Compare them ]
verifyArchive() [ verify all the files in update.zip with digest listed in MANIFEST.MF ]
find_update_script():install.c [ find META-INF/com/google/android/update-script updater script ]
handle_update_script():install.c [ read cmds from script file, and do parser, exec ]
parseAmendScript():amend.c [ call yyparse() to parse to command ]
exeCommandList():install.c
exeCommand():execute.c [ call command hook function ]
erase DATA/CACHE partition
prompt_and_wait():recovery.c [ wait for user input: 1) reboot 2) update.zip 3) wipe data ]
ui_key_xxx get ALT+x keys
1) do nothing
2) install_package('SDCARD:update.zip')
3) erase_root() → format_root_device() DATA/CACHE
may_install_firmware_update():firmware.c [ remember_firmware_update() is called by write_hboot/radio_image command, it stores the bootloader image to CACHE partition, and write update-hboot/radio command to MISC partition for bootloader message to let bootloader update itself after reboot ]
set_bootloader_message()
write_update_for_bootloader():bootloader.c [ write firmware image into CACHE partition with update_header, busyimage and failimage ]
finish_recovery():recovery.c [ clear the recovery command and prepare to boot a (hopefully working) system, copy our log file to cache as well (for the system to read), and record any intent we were asked to communicate back to the system. ]
reboot()

 
splash1.nb0...............................

system.img................................主系统文件--机器启动后的主要系统全部在这里!定义ROM就是这里的事儿

userdata.img..............................

Comments
没有留言 »
分类
android
Tags
android, linux, 安卓, 手机
订阅RSS留言 订阅RSS留言
Trackback Trackback

被三星手机玩儿了一把

2009-02-25 | 7:54

昨天,一位朋友有需求,将nokia 5700 上的通讯电话本,转移到新的 三星639手机上,让我帮忙实施。

原本这是一个很简单的问题,理论上先利用nokia的程序将5700上的电话本转到pc上的outlook中,再从outlook中利用三星公司的程序员一到639手机上就好了。

第一阶段实施地很顺利,很快就将资料从nokia 5700转移到了outlook 里面了,但在使用三星程序计划把电话倒入三星手机的时候遇到了麻烦。

到三星网上去下载程序,发现F639的软件是SCH-F639 PClink3_ZH11A(ver 3.0)和SCH-F639 Contacts Copier(ver.1.2)赶紧下载,安装,打开PClink3.0,连上手机,居然提示COM 口无效??见鬼了,官方指定程序,怎么会出这样的问题?带着对自己操作的不信任和谨慎,先自我尝试了一下,然后开始了google之旅。一查之下,我的个神,网络上漫山遍野都是提到说三星639无法连接pc的问题!!! 后来搜索到的解决办法是不是用上面提到的这两个软件,而是使用SCH-609 SAMSUNG PC Manager 2.0W(ver.2.0W)这个程序才对。一试之下,果然ok~!

这款手机不是刚上市,而网络上也已经有无数的人咨询此问题了,不知道为什么三星公司为什么不积极修改过来,而是放任着这个错误一直停留于网站误导用户?

以前对三星手机的看法是华丽但不好用,现在更加坚定了不推荐朋友们买三星手机的念头了。。。

Comments
1 条留言 »
分类
心得分享
Tags
nokia, outlook, 三星, 手机, 通讯录
订阅RSS留言 订阅RSS留言
Trackback Trackback

Dopod短信远程控制功能的使用说明

2008-12-02 | 11:18

       如题,我的Dopod D600装了这个功能以来,一直少有使用,其实在机器不在身边而又需要获取某些信息的时候用上它就相当地方便了呢~~~

Dopod短信远程控制功能
简介:
了解本软件的短信远程控制功能后,您可以使用任意的另外一部手机通过短信的方式来控制本手机。 阅读全文 »

Comments
没有留言 »
分类
心得分享
Tags
dopod, SMS, 多普达, 手机, 控制, 短信, 远程
订阅RSS留言 订阅RSS留言
Trackback Trackback

昨天试用了几款push mail软件

2008-11-20 | 9:23

   如题,由于四川移动总掉网关那里的接点,所以我将用了几个月的移动手机push mail 服务取掉了,选用其他的免费的push mail 方案来寻求解决。先后用了 尚邮,emoze,mail2web,Seven 提供的push mail 服务,发现都是基于ip push的,这个防护司的好处就是在提交PIM类信息的时候比立通的sms push的有一定优势,但是缺点就是比较耗电~!!!

   根据我的使用结果来看,Seven ( www.seven.com )大概算是比较好的一款免费的push mail 服务软件了,默认支持yahoo,gmail,hotmail等,也能支持163等软件。

 

    Seven是美国相当大的一家企业邮件服务提供商,目前它自称是这个领域的老二,其主要用户群体就是它原来的企业用户群体,在Pushmail时代很多企业也就顺理成章的选择了Seven的Pushmail服务。EVEN Network,Inc.于2005年4月与欧洲知名的移动动电子邮件服务供货商Smartner合并,在全球52个国家, 81家移动电话业者合作推出Push Email服务,其中包括美国的Sprint PCS、Cingular、日本的NTT Docomo、KDDI、欧洲的O2、Orange、Vodafone、台湾地区的远传电信(FarEastone), 威宝电信(Vibo)等,总计用户数已超过一百万人, 为全球仅次于RIM的企业移动电子邮件解决方案提供商。

Comments
没有留言 »
分类
心得分享
Tags
gmail, mail, phone, PIM, push, Seven, yahoo, 手机, 移动
订阅RSS留言 订阅RSS留言
Trackback Trackback

寻找ppc上面wm和google calendar 同步的工具

2008-10-21 | 19:56

google calendar和wm的同步, 以下几个都可以

http://www.nuevasync.com/

http://oggsync.com/

http://www.goosync.com/

OggSync是free的,oggsync分为了两个版本,但是这几个都不太好用,速度也太慢,最后我选用了SyncMyCal ,这个还不错

Comments
5 条留言 »
分类
流水杂记
Tags
calendar, google, PPC, sync, wm, 同步, 工具, 手机, 日历
订阅RSS留言 订阅RSS留言
Trackback Trackback

加快手机上GPS导航软件的读取方法

2008-10-13 | 7:27

在手机上装GPS软件的时候无意发现的加快SDHC卡的读取的方法,据说相当有用

 

超过2G或是SDHC的卡,用fat32格式化成16k.

打开DOS窗口:输入命令
format   X:    /fs:fat32      /a:16k

X是卡的盘符

Comments
没有留言 »
分类
心得分享
Tags
DOS, GPS, SDHC, 手机
订阅RSS留言 订阅RSS留言
Trackback Trackback

PPC可以wap和net同时上网在线的做法

2008-08-22 | 9:03

修改注册表HKLMCommCellularRil:Contexts=3就可以保持cnnet和cmwap同时连接

ppc-net

Comments
没有留言 »
分类
心得分享
Tags
2008, blog, dopod, PPC, 手机
订阅RSS留言 订阅RSS留言
Trackback Trackback

回老家去 【转载】

2008-04-08 | 11:50

还在为跻身大都会沾沾自喜吗?多年寒窗苦读后,你终于也成为500强企业中的一员。你兴奋得挤地铁都挂着公司的工牌;只用本公司出产的手机;出差时陶醉地呼吸酒店的空气,似乎氧离子都变成五星级…… 阅读全文 »

Comments
没有留言 »
分类
妙文转载
Tags
书, 手机
订阅RSS留言 订阅RSS留言
Trackback Trackback

页数:  1 2 3 >

ABOUT ME


网 名: 天缘(skylove)












RSS邮天下订阅  文章 留言

最新日志

  • SecureCRT同时向多个session发送相同命令的方法
  • cacti常见问题解决办法【转载】
  • 一位IT同行的日志
  • 办公网常见的安全问题及华为交换机上的配置说明
  • cm7里adroid市场可浏览而无法下载的解决方法
  • Cisco设备光模块解密方法
  • 如何快速创建 Xen 虚拟机镜像
  • 伪技术人员的成长历程之70-Xen虚拟机下添加Swap磁盘
  • CentOS5.3下xen虚拟机的配置笔记
  • xen虚拟机管理xm的用法

分类

  • android (4)
  • 休闲娱乐 (22)
  • 妙文转载 (9)
  • 学习摄影 (10)
  • 心得分享 (97)
  • 心情随笔 (69)
  • 流水杂记 (42)
  • 艺海无涯 (71)
  • 过失教训 (5)

过去的日记

最新评论

  • Remote Energy Monitor: Check out this gibberish... Do you really believ...
  • 视频聊天室: 双击执行它...
  • 达人秀: 看个热闹吧.....
  • SecureCRT同时向多个session发送相同命令的方法 | 我友博客: [...] 通过行至水穷处,坐看云起时 » ...
  • East Fife Self Catering: Can I buy a vowel... I have not any idea about t...
  • iqzlnhyyia: sentttlzmpwf, qysvbuvwx...
  • outdoor lighting manufacturers canada: 我不得不承认,我通常会觉得无聊,...
  • Josie: Well done article that. I'll make sure to use it ...
  • Dsestbredo: buy bulk facebook fans buy cheap facebook fans ...
  • BlalselepNews: A hires the cialis generico in a cialis. Hovered ...

标签云

乐山 书 分手 升级 图片 安全 感情 手机 摄影 朋友 桌面 歌曲 照片 爱情 硬盘 网站 网络 脚本 虚拟化 软件 2008 apache asp blog blogger cisco CU dns flash google linux mp3 MSN nat photo php QQ script shell tor unix vb web windows xml

我的相册

武隆的图片

技术站点

  • Google站点统计
  • 网站检测
  • 高亮代码(.Net)
  • 高亮代码生成(PHP)

朋友们的站

  • GNAH‘s Not Another Programmer!
  • kiki on the way
  • NetKiller的主页
  • 哇靠~又写起了博客
  • 许敬刚老师的博达软件平台
  • 远方的远方

功能

  • 注册
  • 登录
  • 日志 RSS
  • 评论 RSS
  • WordPress.org
rss 订阅RSS留言 valid xhtml 1.1 design by jide powered by Wordpress get firefox