Android入门读物.docx
- 文档编号:23274816
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:24
- 大小:130.35KB
Android入门读物.docx
《Android入门读物.docx》由会员分享,可在线阅读,更多相关《Android入门读物.docx(24页珍藏版)》请在冰豆网上搜索。
Android入门读物
FAQ:
1,什么是android?
Android(读音:
['ændrɔid],中文俗称安卓)是一个以Linux为基础的半开源操作系统,主要用于移动设备,由Google成立的OpenHandsetAlliance(OHA,开放手持设备联盟)持续领导与开发中。
wiki:
http:
//zh.wikipedia.org/wiki/Android
2,什么是SDK,我必须安装吗?
SDK="softwaredevelopmentkit",除非你是开发者,不然这东西完全是浪费空间,你所需要的只是SDK中提供的有关FASTBOOT与ADB的几个文件和驱动而已.
3,什么是驱动,我为什么要安装呢...?
知道什么是驱动就知道为什么了,wiki:
http:
//zh.wikipedia.org/wiki/%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F
备驱动程序(英语:
devicedriver),简称驱动程序,是一个允许高级电脑软件与硬件(hardware)交互的程序,这种程序创建了一个硬件与硬件,或硬件与软件沟通的接口,经由主板上的总线(bus)或其它沟通子系统(subsystem)与硬件形成连接的机制,这样的机制使得硬件设备(device)上的数据交换成为可能。
4,我从哪儿能搞到驱动?
这个:
http:
//forum.xda-
或者这个:
http:
//forum.xda-
作者推荐第二个
5,为什么要安装两次驱动?
android和PC有两种主要的通信方式:
FASTBOOT和ADB,两种接入方式的驱动是不同的,所以需要安装两次.以FASTBOOT方式(bootloader)启动手机,链接电脑后安装一次驱动;而ADB模式需要android内核的支持,所以正常启动手机(或者某些自制recovery,例如CWM),打开USB调试(USBdebugging),然后连接电脑,安装ADB驱动.
6,怎么进入bootloader(FASTBOOT模式)?
关掉手机,摁住音量-键,然后再摁住电源键,直到开机.
7,什么是命令行?
Windows下的命令行(Linux/MacOS下的终端),是在图形用户界面得到普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。
TIPS:
在文件夹里,摁住SHIFT键,然后右键,会看到:
在此处打开命令行窗口的选项
8,什么是bootloader?
Bootloader(引导加载程序)是系统加电后运行的第一段代码,一般运行的时间非常短,但是对于嵌入式系统来说,这段代码非常重要.在我们的台式电脑当中,引导加载程序由BIOS(固件程序)和位于硬盘MBR中的操作系统引导加载程序(比如NTLOADER,GRUB和LILO)一起组成.
在一般的典型系统中,整个系统的加载启动任务全由bootloader来完成.在ARM中,系统上电或复位时通常从地址0x00000000处开始执行,而在这个位置,通常安排的就是系统的bootloader。
通过这小段程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境设置到一个合适的状态!
以为最终调用操作系统内核准备好正确的环境.
所谓Bootloader,就是一个读取系统软件的工具,它能够决定每个程序所拥有的权限,简单说来,这货能决定哪些程序必须开机就运行并且无法更改或删除。
将Bootloader锁住是一项标准措施,这样一来能保护手机不受恶意软件侵害,二来手机厂商也能保证手机能够持续按着他们定制的方向来运行。
9,bootloader有锁/解锁(locked/unlocked)?
你从厂家得到的设备大多是处于有锁状态.出于安全考虑,锁定的bootloader只能刷写拥有官方签名的镜像,这意味着你很难改变或者修改操作系统.解锁bootloader并不会增加设备的功能,但是解锁后你可以随心所欲的刷写自制镜像与程序,方便折腾...
10,什么是root?
root本质上来说就是你获得了对系统文件与分区的root权限,类似于Windows的管理员权限.root跟bootloader没半毛钱关系,root的是系统本身.
11,怎么root?
root的实现过程是:
向系统目录下写入一个叫做su的可执行文件(功能为获得root权限),并安装一个控制该权限开启与关闭的APP.
(PS:
每个命令都有对应的二进制可执行文件,执行命令,就是执行相应的二进制文件的过程,而%PATH%保存的就是这些执行文件所在的目录...比方说常见的:
cd,ls,cp,ifconfig这几个命令的执行文件保存在/system/bin下;su,和busybox的命令,习惯上,安装在/system/xbin下...)
N4可用的是Chainfire的SuperSU:
http:
//forum.xda-
非常详细的,刷工厂镜像,root,解锁教程:
12,解锁bootloader和root是一个意思吗?
不是,解锁bootloader的作用是方便刷写;root的作用是获得最高权限,可以随意操作系统文件.
13,解锁bootloader之后必须root吗?
No.
14,解锁bootloader后必须刷自制ROM吗?
No.
15,root之后才能刷ROM吗?
No.
16,什么是ROM?
这里指android刷机包.
17,不同版本android的区别是什么?
4.2和JOP40C有什么区别?
看这个:
18,原生镜像和自制镜像的区别是什么?
由Google开发编译的镜像为原生镜像(stockROM),其他的都是自制镜像.
19,总听到AOSP这个词,啥意思?
AOSP=AndroidOpenSourceProject,他们负责android的源码编写与修改,详情点击这里:
20,什么是FASTBOOT?
三个意思:
1,用来设备和PC间通信的一个命令行工具2,fastboot.exe3,设备的一种启动模式.
FASTBOOT是一个特殊的工程模式,通过fastboot界面,连接电脑后,我们可以在电脑端通过特殊的指令来操作手机.
使用FASTBOOT命令,需要PC上要安装有FASTBOOT驱动,当前目录下必须存在fastboot.exe,手机需要以FASTBOOT模式启动,然后连接电脑.
22,FASTBOOT命令
在fastboot.exe所在的文件夹下打开命令行,输入fastboot,可以看到fastboot的命令格式.
1.
2.fastboot
3.usage:
fastboot[
4.
5.commands:
6. update
7. flashall flashboot+recovery+system
8. flash
9. erase
10. format
………………………………………………………………………………
除去上面那些,还有一个oem命令.
这些命令,在FASTBOOT模式下,不管有没有解锁bootloader都可以使用:
oem:
用来解锁或者锁定bootloader,例如:
fastbootoemunlock是解锁bootloader的命令, fastbootoemlock,是重新锁定bootloader的命令.
devices:
这命令用来检查设备是否已经正确的以FASTBOOT模式连接电脑,例如:
fastbootdevices
reboot:
重启命令,例如:
fastbootreboot
reboot-bootloader:
这命令将会让你的设备重启到bootloader模式,例如:
fastbootreboot-bootloader
下面这些命令只有在解锁bootloader后才有效:
flash:
用来刷写镜像,不能用来刷写来路不明的文件或者zip,例如,刷写系统区块的命令:
fastbootflashsystemsystem.img
boot:
用来让核心从设备储存外的某镜像启动,比方说你文件夹里的CMWRECOVERY镜像叫做:
recovery.img,输入:
fastbootbootrecovery.img,便可让设备由recovery.img启动,而不用将CWM刷写到设备flash之后启动.
erase:
用来擦除某些指定的区块,例如:
fastbooterasecache
以上就是会常常用到的fastboot命令啦.
23,什么是ADB?
ADB=AndroidDebugBridge,用来设备和PC间通信的另一个工具.使用ADB命令,需要手机要启动到recovery模式,或者正常启动.一般来说,正常启动的话,需要打开USB调试.当前目录下必须存在ADB相关的几个文件,PC上也必须安装有ADB驱动.
24,ADB命令.
在adb.exe所在的目录下打开命令行,输入adb可以查看adb的命令格式.
1.
2.AndroidDebugBridgeversion1.0.29
3.
4.-d -directscommandtotheonlyconnectedUSBdevice
5.……………………………………
有关backup和restore命令请看这篇非常给力的帖子:
http:
//forum.xda-
devices:
这命令用来检查设备是否已经正确的以adb模式连接,例如:
adbdevices
reboot:
用来重启设备,例如:
adbreboot
reboot-bootloader:
重启设备到bootloader模式,例如:
adbrebootbootloader
push:
用来向设备复制文件,比如将c:
\junk.jpg拷贝到手机/sdcard文件夹:
adbpushc:
\junk.jpg/sdcard/(执行前,确保/sdcard已经挂载)
shell:
打开一个一个可以直接向android系统发送命令的终端,命令:
adbshell,你会发现提示符变成了$(基本都是常见的Linuxshell命令)
25,N4的区块.
1.
2./dev/block/platform/msm_sdcc.1/by-name:
3.lrwxrwxrwxrootroot2012-11-1319:
02DDR->/dev/block/mmcblk0p24
4.lrwxrwxrwxrootroot2012-11-1319:
02aboot->/dev/block/mmcblk0p12
5.lrwxrwxrwxrootroot2012-11-1319:
02abootb->/dev/block/mmcblk0p15
6.lrwxrwxrwxrootroot2012-11-1319:
02boot->/dev/block/mmcblk0p6
……………………………………
来自这里:
http:
//forum.xda-
嵌入式系统,区块的大小与配置基本都是固定的...
比方说:
lrwxrwxrwxrootroot2012-11-1319:
02system->/dev/block/mmcblk0p21,你会发现:
/system下挂载的是mmcblc0p21这个区块...
recovery->/dev/block/mmcblk0p7
userdata->/dev/block/mmcblk0p23
cache->/dev/block/mmcblk0p22
boot->/dev/block/mmcblk0p6
26,挂载.
这东西自己理解吧,Linux的目录结构和Windows不同,Windows是先有分区,然后在分区上再产生目录,Linux下是先有目录结构,将某分区挂载到某目录下,那么该目录就指向这个分区,目录可以理解成指针嘛...
27,什么是recovery?
recovery是一个特殊的启动模式,它提供向设备刷写文件,升级,或者备份等等功能.原装recovery功能稀少坑爹,但我们有两个非常给力的自制recovery:
CMW和TWRP.
28,我为什么在recovery模式下会看到一个仰面朝天的小绿人?
这是原版recovery,按下电源键,再按音量+来打开recovery菜单.
29,我刚刷了CMW,但是每次我想要启动CMW都会发现原版recovery阴魂不散,怎么回事?
有两个文件会在你每次载入recovery时重新刷写recovery:
/system/etc/install-recovery.sh
/system/recovery-from-boot.p
PS:
这两个文件只有在OTA升级之后才会出现
删除或者将它们重命名,然后重新刷写CMW,就能固定CMW了.
这帖子提供了一个recoverydisabler:
http:
//forum.xda-
传送门:
1、(SPL):
这里指的是手机上的启动模块,通俗的说,就是负责手机启动引导的一段程序,类似于电脑主板上的BIOS,都是负责底层操作的。
和在电脑上刷新BIOS一样,刷错了,电脑就会开不了机,对手机来说也一样,这部分的内容刷错了,手机就会变砖!
SPL,SecondProgramLoader,实际就是android的bootloader,用来引导系统的,(和pc的BIOS有点类似。
)除了用来加载android系统外,它还有其他的一些功能,包括恢复模式,Fastboot(刷系统),Hboot,最终SPL就是用来读写flashrom的。
除此之外,SPL还会检查要刷的数据文件是否正确。
当前大多数SPL,可以让我们刷写完整的系统rom,但是无法刷写recoveryrom和bootimage,因为spl会检查recovery和bootimg的签名。
不过有高人(Haykuro)修改了SPL,移除check功能,这就是EngineeringSPL,SPL如此重要,在刷SPL时,要加倍小心。
因为一旦刷坏了SPL,没有专门的设备和技术,是无法恢复spl的。
所以论坛里说的,spl和非spl是不明确的,其实大家所说的刷spl是刷修改过的splSPL就是负责装载OS操作系统到RAM中。
另外SPL还包括许多系统命令,如mtty中使用的命令等。
SPL损坏了还可以用烧录器重写。
SPL一般提供这几部分功能:
检测手机硬件、寻找系统启动分区、启动操作系统为系统的基本维护提供操作界面,可以通过数据线与操作终端(如PC)建立连接,并接受和执行相应命令。
它里面包含许多命令,像r2sd,l,doctest(危险命令,他会擦除gsmdata)等。
我们常说的三色屏就是由SPL驱动的。
检测SD卡,当你把一些特殊制作的SD卡插入后,SPL可以在启动时校验并根据SD卡内容刷机或执行一些命令。
这有点类似于PC的从软驱启动。
由于G1的存储空间较少,无法满足一部分用户的日常使用,所以才会出现通过刷新SPL文件来增加G1的存储空间。
因此,SPL版比非SPL版多出了15M的可用储存空间。
但是,除此之外,在日常使用过程中,两者几乎没有差别。
说明白点.,.SPL就像电脑的BIOS,非SPL就是用的是原版的BIOS,SPL就是要刷自制的BIOS..唯一的区别就是SPL比非SPL系统内存大。
2、radio:
这里指的是手机上的通讯模块,又叫做基带。
负责手机的无线信号,蓝牙,WIFI等设备的管理,也就是说,相当于电脑系统里面的硬件驱动部分。
这样说或许也不是特别的准确,大家明白大概的意思就可以了。
通常我们所说的刷radio,刷基带,就是指的刷写这一部分,以便解决通话质量、网络连接质量、蓝牙连接等等问题。
3、recovery:
字面意思是恢复,手机上的一个功能分区,有点类似于笔记本电脑上的恢复分区。
一般大厂出的笔记本,都会自带一个特殊分区,里面保存着系统的镜像文件,当系统出问题的时候,我们可以通过它来一键恢复系统。
这里的recovery功能有些类似。
其实,他更像是电脑上的小型winPE系统,可以允许我们通过启动到winPE系统上,去做一些备份、恢复的工作。
当然,系统自带的recovery基本没用,所以我们通常会刷入一个第三方的recovery,以便实现更多的功能,例如:
备份系统,恢复系统,刷新系统等。
但官方自带的recovery也不是一无是处,在使用OTA方式升级系统时候,会检查此分区内容,如果不是原厂自带的,OTA升级就会失败。
4、fastboot:
字面意思是快速启动,在这里,其实是一个特殊的工程模式,通过fastboot界面,连接电脑后,我们可以在电脑端通过特殊的指令来操作手机,例如更新radio,就可以通过fastboot来完成。
fastboot的级别又要比recovery来的要高一些,可以完成更底层的一些操作。
后面我们会结合实际,来讲解一些fastboot的用法,更详细的资料,大家可以通过网络来学习,这里不再赘述。
5、ADB:
androiddebugbridge,字面意思就是安卓调试桥接,简单点说,它是android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需要做的工作。
ADB的用法我们后面也会作相应的介绍。
6、ROM:
readonlymemory,只读存储器。
上面我们讲过的,android系统都是安装在闪存里面的,这个闪存,就是一种只读存储器,断电情况下里面的内容不会消失。
刷机,就是刷的ROM。
有点类似电脑里的硬盘,ROM里面有很多分区,hboot、boot、system等等,前文介绍过的,还记得吗?
说到这里,想到一个好笑的事情,某人问老婆,知道什么是ROM吗?
答曰:
room?
不就是房子吗?
晕倒,我说的是ROM,不是ROOM!
!
奥,那就是小房子了!
狂晕!
!
7、OTA:
OverTheAir,意思是空中升级,当手机系统有更新出现的时候,通常我们会收到官方发送的一条信息,告诉我们,手机系统有更新了,是否需要下载。
其优点是点对面,属于广播的形式,有需求的时候可以自由下载。
8、CID:
CustomerIDentity的简称,即客户身份。
销往不同地区的手机,会有不同的CID,以DHD为例,香港的CID为622,台湾的为621,大陆的为701,等等。
这个信息,我们可以在hboot界面下(必须是S-OFF),进入SYSTEMINFO选项来查看,类似于:
CID_622这样的字段。
正常状态下的CID,有两个限制,一个是不允许交叉升级,意思是,你是港版的CID,那么你只能选择官方港版的升级包进行升级,你选择欧版的官方升级包,是无法升级的。
第二个是不允许降级,即从高版本降低到低版本,也是不被允许的。
9、SuperCID:
即超级用户身份,通过一些手段破解,我们可以让手机的CID变成SuperCID,以DHD为例,破解后,CID字段变为:
CID_11111111,这样我们就可以跳过官方的验证机制,从而可以刷不同版本的官方包,或者是给系统降级。
10、金卡:
很多朋友不明白什么是金卡,这里的卡,是指的你手机里面的TF卡,普通的卡经过特殊的处理,就会变身为金卡,做好的金卡,和平时的TF卡一样来使用,并不会对用户造成什么影响。
之所以叫金卡,是因为他可以达到和上面SuperCID一样的目的,即让你跳过验证机制,从而进行刷机。
那我们有了SuperCID了还需要金卡吗?
不需要。
那什么时候需要金卡?
当我们没法通过破解得到SuperCID的时候,我们就需要制作金卡了。
后面会介绍如何制作金卡。
Android系统中的分区:
hboot:
这个分区是最基本的引导分区也类似电脑中的BIOS,这个区坏了,差不多就变砖了,所以我们刷SPL时才要如此小心啊。
boot:
这个分区应该是linux操作系统的引导分区。
使用Nandroidbackup备份为boot.img
radio:
这个分区是手机的一些底层设备相关的驱动或功能程序吧,如打电话和发短信,不同的系统版本会有不同的radio配套,我们平时刷了高版本的ROM后,如果不刷高版本的Radio就有可能导致打电话不正常之类的。
recovery:
这个分区装的就是前面提到的recovery程序了,这个刷不同的recovery版本可以带来不同的功能,一般来说,刷recovery最主要的就是提Root权限。
使用Nandroidbackup备份为recovery.img
system:
是一般发布的ROM的主要功能程序分区了,我们说的ROM功能和自带程序的定制应该就是基于这个分区的修改和编译了。
userdata:
用户数据。
使用Nandroidbackup备份为data.img
cache:
缓存,一般是用来OTA升级时的缓存。
splash1:
开机画面,使用Nandroidbackup备份系统后的文件为splash1.img
因此对于刷机一般可以这么
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 入门 读物
![提示](https://static.bdocx.com/images/bang_tan.gif)