工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆
浏览模式: 标准 | 列表全部文章

在Ubuntu下安装JDK 6和Eclipse

首先需要安装JDK 6
sudo apt-get install sun-java6-jdk

之后需要设置默认的java程序
sudo update-alternatives –config java
按照提示输入对应的选项,指定为JDK 6

下面设置
sudo vim /etc/environment

在其中添加如下两行:
CLASSPATH=/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun
如果其中已经设置了CLASSPATH和JAVA_HOME,则将其修改为上面的形式,按ZZ保存退出。

接下来安装Eclipse
sudo apt-get install eclipse

需要注意的是,此时Eclipse并不关心之前设置的update-alternative

所以应该修改Eclipse的配置。首先将 SUN-JDK-6彻底设为系统默认:

sudo update-java-alternatives -s java-6-sun

然后编辑JVM配置文件:
sudo vim /etc/jvm

在文件顶部添加
/usr/lib/jvm/java-6-sun
(如果没有则自己新建)

sudo vim /etc/eclipse/java_home

也是在文件顶部添加
/usr/lib/jvm/java-6-sun

之后启动Eclipse,选择Help->About Eclipse SDK,选择Configuration Details,可以看到JDK6的设置已经生效。

Android系统(安卓)手机刷机前需要知道的一些基础知识

安卓现在是炙手可热啊,原来支持其他系统的玩家对都纷纷转投安卓怀抱了。在这里给大家也是给自己普及下刷机知识。
一、关于Root
1、什么是“root”?
     “Root”权限相当于电脑的管理员权限,“Root”后用户可以完全权限访问Linux内核:“Root用户”可以编辑修改系统 内的任何东西。出于安全考虑,“普通用户”没有该完全访问权限。
     root你的手机 之后,你就可以读写未root时你无法访问的手机内部核心区块。
     当然,是否root完全取决你自己。普通手机用户不root也可以很好的使用自己的手机。
2、为何要“root”我的手机?
     最主要的原因是刷第三方ROM(相当于重装电脑的操作系统)。另外,有ROOT权限后就可以运行一些需要root的软件。
     Root后,你可以做的事:
     a)运行更多的Linux命令(android ADB)和超级用户权限。
     b)可以使用许多需要root权限的软件(例如,钛备份,Root Explorer等)。
     c)更改某些重要的核心系统设置 。比如,关闭官方 Rom的安全校验以使我们可以刷写第三方固件,或者运行某些有趣的调节程序 比如说超频,再或者还可以让我们安装核心recovery程序。
3、root安全吗?
     是的。如果你胆大心细,按照教程来做,不会发生什么蛋疼的事。
4、root后会删除我的个人资料吗?
     不会。root仅仅是改变系统权限而已。
5、root会使我的保修失效吗?
     退一万步说,你可以unroot你的手机并恢复出厂设置,来假装什么事也没发生过。
6、root过程是可逆的吗?
     是的。只要你愿意完全可以unroot你的手机。

二、关于S-OFF和刷机
1、“S-OFF”是什么?“S-ON”和“S-OFF”有什么区别?我为何需要“S-OFF”?
    每一部手机缺省状态下都是“S-ON”。为了获取完全的写入权限(例如刷自制固件,装自制recovery工具),需要转换为“S-OFF”。
    通常手机都是处于“S-ON”(Security ON)状态,此时手机“/system”和“/recovery”分区无法被读写。最直接的表现就是如果用RE管理器等高权限文件管理器删除“/system”文件夹下的程序,重启后程序又会出现(这也好多网友说获得root后还是删除不了系统自带软件的原因);另外无法修改开机第一屏画面。
    S-OFF不同于root:S-OFF可以让你通过Bootloader里的Fastboot或者自制recovery(多数人用的都是clockwork)刷写自制固件。
2、如何“S-OFF”?
    目前有两种S-OFF的方法:
    a)通过安装工程模式 的hBoot来S-OFF。即所谓的软解。
    b)通过某些设备,例如白卡来S-OFF。即所谓白卡解锁。
    软解的手机进入Bootloader后第一行的末尾显示的是:ENG S-OFF,白卡解的手机则是:SHIP S-OFF。ENG意为engineering即工程模式,SHIP即意为原厂发布的。
3、如何改回“S-ON”?
    因某些原因(送去保修等)想要恢复S-ON的话,需要下载 对应你手机版本的HTC 官方刷写程序RUU刷回原厂固件。这样S-ON就回来了。
4、“RUU”是什么?
    RUU意为Rom Update Utility。是一个PC端的刷机工具。大多数RUU都是HTC官方发布的,其包含了刷机工具和官方固件,并打包为一个单独文件 。
5、什么是“Rom”?
    Rom意为Read Only Memory,他指手机的不可访问的只读的内部存储单元。他包含了android操作系统和所有原厂预装应用软件工具。
    通常一个完整的ROM(或者说固件)包含了:一个recovery镜像,一个boot镜像(包含了核心(Kernel)和ramdisk),一个系统镜像(操作系统,或者简称“OS”),和一个Radio镜像。
    我们也经常把可刷入手机内存 的镜像统称为ROM或固件。
6、什么是“Radio”?我们为何要刷Radio?
    一个合适的Radio可以改善我们手机的信号 、蓝牙、WiFi和GPS 。也许也可以提高手 机电池 的寿命。
7、什么是“刷机”?
    刷机就是把一个新的固件镜像刷入手机的内存里。
    你可以刷入一个recovery,或是一个boot,或系统,或Radio,或者是包含以上所有东西的完整Rom。
8、我为什么要刷机?
    刷机后:
    a)把你的手机更新到最新的官方固件(因为是官方的,所以无需root也无需S-OFF,也不会使保修失效)。
    b)把你的手机去除品牌定制化,变成通用的官方固件。
    c)刷入了自制固件,其:包含/去除HTC sense,其他android版本,等等。
    d)安装了更好用的recovery工具,比如clockwork。
    e)更合适的Radio。
9、刷机会删除我的个人资料吗?
    如果你仅仅是刷boot或者recovery的话,不会。
    但是如果你刷的是系统或者完整的Rom的话,会的。你个人的所有资料都会被清理掉,所以在刷机前请备份个人资料。
    在菜市场里有很多备份软件。(例如钛备份)
    你也可以备份NANDroid 。
10、刷机会使保修失效吗?
      同样的退一万步讲,如果你备份后原厂固件或是下载了对应你手机版本的固件的话,可以随时刷回去。
      同样,对于大多数的水货手机来说,一切保修都是浮云。
三、关于Bootloader和Recovery
1、何为“Bootloader”?
    Bootloader是一个Rom里的固件管理工具。使用它可以让你恢复出厂设置,用Fastboot刷机,加载Recovery工具。
    在Bootloader里你也可以查看S-ON/S-OFF的状态,固件和Radio的版本等等。
    进入Bootloader无需root或S-OFF。在每台HTC出厂的手机里都有。
2、如何进入Bootloader?
    关机,然后按住音量-和电源键。(需要把“快速开机 ”关闭,在“设置”》“应用程序”里改。或者拔掉电池,让手机真正的关机。)
    你可以直接拔电池来退出Bootloader。
    如果你装了自制recovery的话,可以进入recovery,然后重启手机。
3、如何备份我的当前ROM(固件)?
    在自制recovery里备份。
4、自制recovery是什么?
    自制recovery(比如clockwork)是一个增强的recovery版本,其替换了固件里原来的recovery。
    自制recovery比原厂的recovery要好,因为他可以让你可以安全的刷写未签名的自制rom,也可以备份你手机内存里的整个固件镜像(NANDroid备份)。
5、如何安装ClokworkMod (CWM)Recovery?
    你必须先root和S-OFF。然后用“Rom Manager”安装,或者单独下载clockwork recovery在ADB环境下手动刷写。
6、什么是NANDroid备份?
    一个完整的体统镜像可以被重新刷回手机。其不仅仅是简单备份,因为他包含了当前在你手机内存里的所有内容:Boot、Recovery、系统、数据、缓存,等。他是你手机整个ROM的快照。
    执行NANDroid备份的方法:进入clockwork recovery,进到“Backup and Restore”选项中执行。NANDroid备份将会被保存在sd卡ClockworkMod文件夹内。
7、如何加载NANDroid备份?
    如果你可以进入clockwork recovery的话,只需简单的从他的菜单里加载NANDroid。
    如果你的手机变砖从而无法进入clockwork recovery的话,也有最后一个方法:单独下载clockwork recovery至PC里,然后打开cmd控制台,进入存有clockwork recovery的目录,使用以下ADB命令刷写:“fastboot flash recovery recovery-clockwork-2.5.1.2-vision.img”。(前提是你的PC上有ADB环境,不过好像这招对白卡解锁的机器 无用)
8、什么是ADB?
    ADB意为Android Debug Bridge。其使用Linux命令对手机发出指令。你可以在MS-DOS环境下直接使用ADB命令,或者进入ADB shell使用Linux命令。通过ADB,你可以安装软件,卸载软件,刷写镜像,改变手机设置等。

G11 2.3.3 S-ON软解S-OFF

这个参照其它机友的经验修改壹些误导。。。。。。。。。
基本上都可以100%软解

在之前港版2.3.3上无法S-OFF,于是马上拿出我的金卡,刷回欧版的2.3.3.再次运行AlphaRevX,不到一分钟就提示S-OFF成功了!


刷机方法:(其实刷欧版的只是做S-OFF的一个跳板而已,不必在欧版上纠结,等成功S-OFF后,不就可以任刷第三方的rom吗?就算到时拿港版来做成s-off,难道你不也一样只是为了任刷第三方的rom吗?)

1.已更新到2.3的朋友,若你的rom不是欧版(WWE)的话,请用金卡刷回WWE版的2.3.3(不知道怎么用金卡刷的,可以去找下教程,很简单,附欧版的2.3.3下载:http://u.115.com/file/e61z0c8l)
2.安装HTC Sync,安装好后,连接手机,系统会自动帮你装上驱动。(安装完后,请将HTC SYNC关掉,win的系统,在右下角任务栏选择关掉即可,其实在安装完HTC SYNC后,不用去理它,在做软解时,不需要将它运行,其目的只是为了安装驱动而已)
3.取下数据线,关手机,进入手机的HBOOT后,再次连接好数据线,系统会再次为你装好驱动(其间还要按下电源键,其间可能系统会显示无法识别,可以直接PASS掉,不必在意这个,我刷时也一样提示)等系统没有提示安装驱动,待装好后,重启手机
4.重启手机后,连接好数据线,选择charge only(仅充电),确认。 刷完欧版的要记得打开USB调试哦,否则连不上手机哦。默认为关闭的

5.运行AlphaRevX软解程序(win7的用户,请用管理员的身份运行),等显示连接手机成功后,会让你输入你申请的S/N码所对应的KEY,输入完成后(有人问这S/N码如何得到,有三种方法查看,第一,关机,取出电池,看手机上的标签,就会看到S/N码了,目前多数是以HT开头的,第二种,进设置->关于手机->设备信息->设备序列号,最后一种方法,连接好手机,运行AlphaRevX程序后,会自动显示出来),回车,程序会自动帮你完成s-off。刚开始时,需等待一会(当初我还以为又象港版的那样,卡在这里了)10多秒后,就看到有提示了。直到显示SUCCESS-XXXXX(此处省略N多英文)

注意得出的S/N码所对应的KEY,只能复制》 然后粘上去才行,手工输往往报错。

好了,马上看看手机的HBOOT画面,看到没有,最上一行显示粉底白字的字样没有,那就恭喜你了,不过值得大家注意的话,S-OFF后,显示的HBOOT为1.09了,不再是2.3.3时的1.13了。这点请大家不用胆心,系统是没有什么任何问题。还有一点需要说明的是,若今后刷回官方的ruu后,就会变为s-on了(刷第三方的rom不会)。这个比以前用G7做s-off简单多了,又不需要刻盘或制作启动U盘或虚拟机来做了,也不必再为好做S-OFF时,被替换第一屏的画面而去修改了!
怎么申请KEY,其实很简单,进入http://alpharev.nl/x/beta/网站后,点击Download for Windows,就会弹出一个获取KEY的画面,选择你手机的型号.HBOOT版本,输入你的手机的S/N码后,点击generate key按钮,就会得到一组英文+数字的key,在运行AlpharevX后,能正确连接你的手机,此时画面会显示你的手机型号,HBOOT版本,S/N,再输入刚才申请的KEY,注意大小字哦

TC限速不准确


服务器系统CentOS 5, 网内还有其它设备对外提供服务。

# uname -rvp
2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:22:04 EDT 2011 x86_64

# ethtool -i eth0
driver: bnx2
version: 2.0.8-rh
firmware-version: bc 4.4.1 UMP 1.1.9
bus-info: 0000:03:00.0


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

服务器性能足够,通过80端口提供服务,不限量的话流量能跑满eth0,现在我想限速到最高450mbit,以免影响到其它设备的服务,但是限速貌似不是很灵,还是跑到600左右(之后使用iptables 把新连接给REJECT喽)请达人帮忙看看脚本有什么问题没? #!/bin/bash

 

 

tc qdisc del dev eth0 root 2>/dev/null

tc qdisc add dev eth0 root handle 1: htb default 20


tc class add dev eth0 parent 1: classid 1:1 htb rate 450mbit ceil 450mbit

tc class add dev eth0 parent 1:1 classid 1:10 htb rate 400mbit ceil 400mbit

tc class add dev eth0 parent 1:1 classid 1:20 htb rate 30mbit ceil 50mbit

tc class add dev eth0 parent 1:1 classid 1:30 htb rate 20mbit ceil 50mbit


tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10

tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10

tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10


tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 80 0xffff flowid 1:10

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 22 0xffff flowid 1:30
问题的解决方案:见8楼。

tc -s class ls dev eth0
class htb 1:1 root rate 450000Kbit ceil 450000Kbit burst 57825b cburst 57825b
Sent 410270340209 bytes 188442731 pkt (dropped 0, overlimits 0 requeues 0)
rate 619391Kbit 35404pps backlog 0b 0p requeues 0
lended: 109 borrowed: 0 giants: 151676252
tokens: 835 ctokens: 835


ethtool -K tso off
关闭tso后,貌似正常了吖

see here -> https://bugzilla.redhat.com/show_bug.cgi?id=481546#c32


rpm -ivh http://people.redhat.com/jwilson/el5/269.el5/x86_64/kernel-2.6.18-269.el5.x86_64.rpm http://people.redhat.com/jwilson/el5/269.el5/x86_64/kernel-devel-2.6.18-269.el5.x86_64.rpm  && reboot
跑了一下午,目前看起来蛮正常的

Android 常用开发术语

1.apk扩展名  
apk是Android包的扩展名,一个Android包包含了与某个Android应用程序相关的所有文件,apk文件将AndroidManifest.xml文件、应用程序代码(dex文件)、资源文件和其他文件组成一个压缩包,一个项目只能打包压缩成一个apk文件。

2..dex扩展名
Android的程序被编译成.dex(Dalvik Executable)格式文件, 然后再进行打包生成可被直接安装的apk文件。

3.应用程序(APP)
一个或多个Activity、服务、监听和Intent接收器的集合,一个应用程序有一个文件清单,并且打包成一个apk文件。

3.Action  
对Intent发送器意图的描述,一个活动是一个指派给Intent的字符串值。活动字符串可以由Android定义,也可以由第三方开发者定义。例如,在网页URL中使用的android.intent.action.VIEW或者在用户应用程序中使用的 com.example.rumbler.SHAKE_PHONE来使电话震动。
  
4.ADB( Android Debug Bridge )
SDK自带的一个基于命令行的调试程序。它提供了设备浏览工具、设备上的拷贝工具和为调试转寄端口的功能。更多信息请参考附录三(Android的ADB工具使用)。

5.内容源  
内容源是建立在类ContentProvider之上的用于处理指定格式的内容请求字符串,并返回指定格式的数据的类。关于内容源的使用信息请参考本书第7章内容。

6.Dalvik Android
虚拟机的名字,Dalvik虚拟机是一个只能解释执行dex文件的虚拟机,dex文件针对存储性能和内存管理进行了优化。 Dalvik虚拟机是基于寄存器的虚拟机,并且能够运行经过Dalvik自带的“dx”工具转换过的Java类。 虚拟机运行在兼容Posix的操作系统上,依赖于底层的功能(如线程和低级内存管理)。Dalvik的核心类库有意做得与Java标准版非常类似,但它明显更适合小型移动设备。

7.DDMS  
调试监视服务(Dalvik Debug Monitor ServiceDalvik)是SDK自带的一个可视的调试工具。它提供了屏幕捕捉、日志存储和进程检测能力。

8.Drawable
    编译过的可视化资源,可以用来做背景、标题或屏幕的其他部分。它被编译在android.graphics.drawable子类中。

9.意图(Intent)  
意图是一个Intent类,它包含很多描述调用者意图做什么的字段。调用者发送意图到Android意图处理器,意图处理器会遍历所有应用程序的意图过滤器来查找与该意图最匹配的Activity。意图字段包括渴望的动作、种类、数据、数据的MIME类型、一个处理类和其他约束。  

10.意图过滤器(intent-filter)
Activity和意图接收器(Receiver)在它们的文件清单中包含一个或多个过滤器,用来描述什么类型的意图或者信息是它们能处理或想接收的。一个意图过滤器列出了一系列要求,例如,意图或信息必须满足的数据类型、被请求的动作和URI的格式。 对于Activity,Android搜索意图和Activity过滤器匹配程度最高的Activity;对于消息,Android会将消息转发给所有匹配意图过滤器的接收器。

11.Intent接收器(Receiver)
一个监听是由Context.broadcastIntent()发出的信息广播的类,详细信息请参考本书第9章。

12.布局资源  
一个描述Activity屏幕布局的XML文件。

13.文件清单  
应用程序中的一个XML文件,用于描述包中多个Activity、Intent过滤器、服务和其他内容。可以打开AndroidManifest.xml查看其包含的内容。

14.Nine-patch / 9-patch / Ninepatch image  
一种可变尺寸的位图资源,可用作设备上的背景或其他图片。
  
15.资源  
用户提供的XML、位图或其他文件,构建程序时会导入进来,稍后会被代码加载,Android支持多种类型的资源,请参考Resources中的详细描述,程序定义的资源文件应当保存在res/ 子目录下。  

16.服务(Service)  
运行在后台执行多种固定任务的类,如播放音乐或检测网络活动。

17.主题(Theme)
一系列定义多种默认显示设置的参数(文字大小、背景颜色等)。Android在R.style中提供了几个标准的主题(以"Theme_"开头)。

18.URIs  
Android使用URI字符串请求数据(如通信录列表)和动作(如在浏览器中打开网页)。URI字符串可以具有不同的格式。所有请求数据的URI必须以“content://”开头。有效的动作URI字符串会被设备上的适当的程序处理,例如,以“ http://”开头的URI字符串会被浏览器处理。

Android源代码分布结构


google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示:
|-- Makefile        (全局的Makefile)
|-- bionic          (Bionic含义为仿生,这里面是一些基础的库的源代码)
|-- bootloader      (引导加载器)
|-- build           (build目录中的内容不是目标所用的代码,而是编译和配置所需要的脚本和工具)
|-- dalvik          (Java虚拟机)
|-- development     (程序开发所需要的模板和工具)
|-- external        (目标机器使用的一些库)
|-- frameworks      (应用程序的框架层)
|-- hardware        (与硬件相关的库)
|-- kernel          (Linux2.6的源代码)
|-- packages        (Android的各种应用程序)
|-- prebuilt        (Android在各种平台下编译的预置脚本)
|-- recovery        (与目标的恢复功能相关)
`-- system          (Android的底层的一些库)

bionic目录展开一个级别的目录如下所示:
bionic/
|-- Android.mk
|-- libc
|-- libdl
|-- libm
|-- libstdc++
|-- libthread_db
`-- linker
bootloader目录展开的两个级别目录:
bootloader/
`-- legacy
    |-- Android.mk
    |-- README
    |-- arch_armv6
    |-- arch_msm7k
    |-- fastboot_protocol.txt
    |-- include
    |-- libboot
    |-- libc
    |-- nandwrite
    `-- usbloader
build目录展开的一个级别的目录如下所示:
build/
|-- buildspec.mk.default
|-- cleanspec.mk
|-- core                       (各种以mk为结尾的文件,它门是编译所需要的Makefile)
|-- envsetup.sh
|-- libs
|-- target                     (包含board和product两个目录,为目标所需要文件)
`-- tools                      (编译过程中主机所需要的工具,一些需要经过编译生成)
其中,core中的Makefile是整个Android编译所需要的真正的Makefile,它被顶层目录的Makefile引用。
envsetup.sh是一个在使用仿真器运行的时候,用于设置环境的脚本。
dalvik目录用于提供Android JAVA应用程序运行的基础————JAVA虚拟机。
development目录展开的一个级别的目录如下所示:
development
|-- apps                       (Android应用程序的模板)
|-- build                      (编译脚本模板)
|-- cmds
|-- data
|-- docs
|-- emulator                   (仿真相关)
|-- host                       (包含windows平台的一些工具)
|-- ide
|-- pdk
|-- samples                    (一些示例程序)
|-- simulator                  (大多是目标机器的一些工具)
`-- tools
在emulator目录中qemud是使用QEMU仿真时目标机器运行的后台程序,skins是仿真时手机的界面。
samples中包含了很多Android简单工程,这些工程为开发者学习开发Android程序提供了很大便利,可以作为模板使用。
external目录展开的一个级别的目录如下所示:
external/
|-- aes
|-- apache-http
|-- bluez
|-- clearsilver
|-- dbus
|-- dhcpcd
|-- dropbear
|-- elfcopy
|-- elfutils
|-- emma
|-- esd
|-- expat
|-- fdlibm
|-- freetype
|-- gdata
|-- giflib
|-- googleclient
|-- icu4c
|-- iptables
|-- jdiff
|-- jhead
|-- jpeg
|-- libffi
|-- libpcap
|-- libpng
|-- libxml2
|-- netcat
|-- netperf
|-- neven
|-- opencore
|-- openssl
|-- oprofile
|-- ping
|-- ppp
|-- protobuf
|-- qemu
|-- safe-iop
|-- skia
|-- sonivox
|-- sqlite
|-- srec
|-- strace
|-- tagsoup
|-- tcpdump
|-- tinyxml
|-- tremor
|-- webkit
|-- wpa_supplicant
|-- yaffs2
`-- zlib
在external中,每个目录表示Android目标系统中的一个模块,可能有一个或者若干个库构成。其中:
opencore为PV(PacketVideo),它是Android多媒体框架的核心。
webkit是Android网络浏览器的核心。
sqlite是Android数据库系统的核心。
openssl是Secure Socket Layer,一个网络协议层,用于为数据通讯提供安全支持。
frameworks目录展开的一个级别的目录如下所示:
frameworks/
|-- base
|-- opt
`-- policies
frameworks是Android应用程序的框架。
hardware是一些与硬件相关的库
kernel是Linux2.6的源代码
packages目录展开的两个级别的目录如下所示:
packages/
|-- apps
|   |-- AlarmClock
|   |-- Browser
|   |-- Calculator
|   |-- Calendar
|   |-- Camera
|   |-- Contacts
|   |-- Email
|   |-- GoogleSearch
|   |-- HTMLViewer
|   |-- IM
|   |-- Launcher
|   |-- Mms
|   |-- Music
|   |-- PackageInstaller
|   |-- Phone
|   |-- Settings
|   |-- SoundRecorder
|   |-- Stk
|   |-- Sync
|   |-- Updater
|   `-- VoiceDialer
`-- providers
    |-- CalendarProvider
    |-- ContactsProvider
    |-- DownloadProvider
    |-- DrmProvider
    |-- GoogleContactsProvider
    |-- GoogleSubscribedFeedsProvider
    |-- ImProvider
    |-- MediaProvider
    `-- TelephonyProvider
packages中包含两个目录,其中apps中是Android中的各种应用程序,providers是一些内容提供者(在Android中的一个数据源)。
packages中两个目录的内容大都是使用JAVA编写的程序,各个文件夹的层次结构是类似的。
prebuilt目录展开的一个级别的目录如下所示:
prebuilt/
|-- Android.mk
|-- android-ARM
|-- common
|-- darwin-x86
|-- linux-x86
`-- windows
system目录展开的两个级别的目录如下所示:
system/
|-- bluetooth
|   |-- bluedroid
|   `-- brfpatch
|-- core
|   |-- Android.mk
|   |-- README
|   |-- adb
|   |-- cpio
|   |-- debuggerd
|   |-- fastboot
|   |-- include            (各个库接口的头文件)
|   |-- init
|   |-- libctest
|   |-- libcutils
|   |-- liblog
|   |-- libmincrypt
|   |-- libnetutils
|   |-- libpixelflinger
|   |-- libzipfile
|   |-- logcat
|   |-- logwrapper
|   |-- mkbootimg
|   |-- mountd
|   |-- netcfg
|   |-- rootdir
|   |-- sh
|   `-- toolbox
|-- extras
|   |-- Android.mk
|   |-- latencytop
|   |-- libpagemap
|   |-- librank
|   |-- procmem
|   |-- procrank
|   |-- showmap
|   |-- showslab
|   |-- sound
|   |-- su
|   |-- tests
|   `-- timeinfo
`-- WLAN
    `-- ti

Android手机系统快捷键大全

全局快捷键启动(默认,可以自己定义修改,search键+任意字母键)quick launch:
Browser SEARCH + b
Contacts SEARCH + c
E-Mail SEARCH + e
Google Mail SEARCH + g
Calendar SEARCH + l
Maps SEARCH + m
Music SEARCH + p
Messaging SEARCH + s
YouTube SEARCH + y
弹出长按菜单:   触屏上选中长按,或是 长按轨迹球

列表中的浏览:Navigation within lists
下翻页 SPACEBAR
上翻页 SHIFT + SPACEBAR
跳转到页尾 ALT + TRACKBALL roll DOWN
跳转到页首 ALT + TRACKBALL roll UP          文本输入和浏览 Typing and text navigation tips:
插入特殊符号 ALT + SPACEBAR opens special character selector
从左起删除 DEL
从右起删除 SHIFT + DEL
删除整行 ALT + DEL
CAPS大写锁定; 双按 SHIFT ,再按取消
光标跳转到首字/尾字 ALT + roll TRACKBALL left/right
制表符 ALT + q
高亮选中文本 SHIFT + roll TRACKBALL
剪切 MENU + x, 或是高亮选中文本后,长按轨迹球,选择弹出菜单中的Cut
复制 MENU + c, 或是高亮选中文本后,长按轨迹球,选择弹出菜单中的Copy
粘贴 MENU + v, 或是高亮选中文本后,长按轨迹球,选择弹出菜单中的Paste
Undo MENU + z
全选   MENU + a, 或是高亮选中文本后,长按轨迹球,选择弹出菜单中的

内置浏览器 Browser shortcuts
Open Go to window MENU + s
Open Bookmarks MENU + b
Open Windows MENU + w
View history MENU + h
Refresh or stop page MENU + r
Go back a page MENU + j
Go forward a page MENU + k
Find on page MENU + f
Go to home page MENU + ENTER
Zoom in MENU + i
Zoom out MENU + o
Go to Settings MENU + p
Page down SPACEBAR
Page up SHIFT + SPACEBAR


GoogleMap shortcuts
Directions MENU + d
Select map mode MENU + m
History MENU + h
My Location MENU + 0 (zero)
Go to Settings MENU + p
Zoom in MENU + i
Zoom out MENU + o

Gmail:
F – Forward (while viewing message)
R – Reply (while viewing message)
A – Reply All (while viewing message)
Y – Archive (while viewing message or from list

Dalvik虚拟机简介

google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。
很多人认为Dalvik虚拟机是一个Java虚拟机,因为Android的编程语言恰恰就是Java语言。但是这种说法并不准确,因为Dalvik虚拟机并不是按照Java虚拟机的规范来实现的,两者并不兼容;同时还要两个明显的不同:
Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式DEX(Dalvik Executable)。
在Java SE程序中的Java类会被编译成一个或者多个字节码文件(.class)然后打包到JAR文件,而后Java虚拟机会从相应的CLASS文件和JAR文件中获取相应的字节码;Android应用虽然也是使用Java语言进行编程,但是在编译成CLASS文件后,还会通过一个工具(dx)将应用所有的CLASS文件转换成一个DEX文件,而后Dalvik虚拟机会从其中读取指令和数据