小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【安卓科普大作】小白一夜變高手,絕對精品!

 行者無忌圖書館 2012-09-10
 
 
 

 【安卓科普大作】小白一夜變高手,絕對精品!

 
發(fā)表于 2012-7-25 11:31:35 |原文作者:Cim

提供Word版本下載,方便閱讀。請見文尾。
如果你是小白,請你耐心看看,收獲頗豐。如果是老手,看看可以知道如何晉級為高手。

一.安卓的古往今來(了解就夠啦)
         Android是一種以Linux為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),最初主要支持手機(jī)。2005年由Google收購注資,并組建開放手機(jī)聯(lián)盟開發(fā)改良,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上。Android的主要競爭對手是蘋果公司的iOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。
(好吧,我承認(rèn)這段是Copy度娘百科的,瞎看看就得了。)

二.安卓的特點(了解了解即可)
說到安卓,當(dāng)然最大的特點就是開源。也許專業(yè)名詞你不懂,這沒關(guān)系。如果稍微知道點電腦的同學(xué)會聽過編譯,編程,例如我要寫一個計算1+1=?的程序,寫好了代碼,這個就叫源碼。源碼是一行行的英文字符串,這是文本不能運(yùn)行,用編譯器做成了exe文件之后,就可以運(yùn)行了,源碼到程序這過程就叫編譯。但是呢,編譯出來的東西,很難在回到源碼,所以沒有源碼的人就很難修改。開源就是公布源碼,大家都可以在這個基礎(chǔ)上改,Diy,開源就是這么回事。
那么開源有什么好處呢?就是大家都可以修改,發(fā)布修改的程序,所以安卓系統(tǒng)就繽紛多彩。自然就會有很多很牛的大神作出很多功能很多性能很好的優(yōu)化版本,這就是開源的好處。

三.安卓手機(jī)其實就是個小電腦有許多分區(qū)(小白必讀)
就如這一節(jié)的標(biāo)題,其實不光安卓,應(yīng)該說智能機(jī)就是個小電腦。不過本文就只說安卓的那點事。一切要從安卓的“硬盤”說起。
就說一臺電腦,硬盤上有很多個分區(qū),例如“C盤”是裝系統(tǒng)的,“D盤”是存用戶的東西的。安卓機(jī)也是如此,在安卓的硬盤里也有許多的分區(qū),類似C盤D盤,不過不叫這個,每個分區(qū)都有自己的名字。下面我就要逐個說說主要的分區(qū)了。
System:顧名思義,系統(tǒng)分區(qū),就是主操作系統(tǒng)啦,相當(dāng)于C盤。
Data:存放你的各種應(yīng)用程序,游戲,設(shè)置,存檔的地方。
Recovery:這個得多說說,不知道同學(xué)知不知道電腦上雙系統(tǒng)?在啟動電腦的時候可以選擇我是進(jìn)Win7呢還是進(jìn)XP。比如我主要用Win7,但是有一天他壞了,我進(jìn)入XP來修復(fù)我的Win7,這個“XP”就是在安卓里就是Recovery,其實就是個“小型”操作系統(tǒng)。
Radio:就是基帶,手機(jī)比電腦多出來的功能就是通訊嘛,你通訊的驅(qū)動就放在這里。
Boot:內(nèi)核分區(qū),相當(dāng)于電腦里面的驅(qū)動,專門放驅(qū)動的分區(qū)。
Firmware:固件分區(qū),相當(dāng)于電腦的Bios,你說你不懂啥是Bios?你不用懂,你只需要知道,這個是最底層的驅(qū)動,直接和硬件打交道,如果他壞了,你的手機(jī)那就是100%的磚頭了。別的分區(qū)壞了可以刷,相當(dāng)于電腦從新裝個系統(tǒng)罷了,這個分區(qū)壞了,管你電腦還是手機(jī),主板要不大修,要不換一塊了。
其他分區(qū)一般情況是用不到的,在這里也就不介紹了。
同學(xué)發(fā)問,那么SD卡是什么分區(qū)?我告訴你,這個不在硬盤里,這個是“移動硬盤”,當(dāng)然有些手機(jī)所謂的內(nèi)置SD卡,就是用一部分硬盤空間劃出個分區(qū)當(dāng)SD卡了。
我給大家講解了這些分區(qū)但是它們有別的稱呼,在此也介紹一下。
Userdata=Data
Baseband(BB)=Radio
Kernel=Boot
BootLoader(BL)=HBOOT=SPL=Firmware
Rec=Recovery
至于ROM這個沒有準(zhǔn)確的概念,一般來說ROM=System+Kernel。但是也會在論壇聽到,我用的XXX大神的ROM,XXXX大神的內(nèi)核。到底ROM指的是System還是System+XXX+XXX,具體問題具體分析。

四.這個小電腦是怎樣啟動的?(小白必讀)
這個問題很重要,就先你按了開機(jī)鍵,最先啟動的是BootLoader,他會對各個硬件進(jìn)行參數(shù)設(shè)定,初始化,給System設(shè)置只讀或者讀寫等等,默認(rèn)情況下,如果你什么都不做,他就會啟動System,然后手機(jī)就打開了。
所謂的解鎖,就在這BL里,如果BL在一起動就設(shè)置System是只讀的,無論什么方法,你也別想修改這“C盤”了。解鎖就是讓BL在啟動的時候設(shè)置各個分區(qū)可讀取可寫入。
那么童鞋就問了,ROOT是怎么回事?這其實很好解釋,就算你解鎖了,各個分區(qū)硬件上允許你讀寫了,你運(yùn)行的操作系統(tǒng)會允許你修改自己,甚至刪除自己嘛?當(dāng)然不會,怎么才能這樣做?在系統(tǒng)里插入個間諜文件Su,系統(tǒng)以為它是系統(tǒng)文件,允許它“胡來”。
那就是ROOT。
那么怎么插入這個間諜Su呢?一般方法有兩個,一個是系統(tǒng)有漏洞可利用,另一個就是在Recovery下刷入到系統(tǒng)里。

五.手機(jī)的第二個系統(tǒng)Recovery(小白必讀)
就如標(biāo)題所說,他是手機(jī)的第二個系統(tǒng),平時是用不上的,但是遇到特殊情況,比如主系統(tǒng)壞了,主系統(tǒng)需要升級等等,需要恢復(fù)到出廠,它就會派上用場。
想要進(jìn)入Recovery當(dāng)然還得從BL說起。手機(jī)開機(jī),BL啟動,默認(rèn)就直接打開主系統(tǒng)了,但是如果開機(jī)時你按一些鍵,或者特定的按鍵組合,BL就知道,要啟動的不是主系統(tǒng)。不同手機(jī)按鍵不同,進(jìn)入到的頁面更不同。有些手機(jī)BL會提供個菜單,有的手機(jī)直接按對應(yīng)的鍵,進(jìn)入對應(yīng)的功能。
進(jìn)入到Recovery以后,就可以對主系統(tǒng)進(jìn)行許許多多的操作了。不過官方自帶的Recovery并沒有很多的功能,一般來說,官方自帶的 Recovery只有以下功能,恢復(fù)出廠,其實就是把Data分區(qū)給格式化了。要不就是刷個官方的OTA補(bǔ)丁,干不了什么。
真正強(qiáng)悍的在這里,CWM Recovery,這是什么?
就是ClockworkMod(CWM)做的Recovery。
他有許許多多官方Recovery沒有的功能,當(dāng)然最主要的就是能夠刷入各種非官方的補(bǔ)丁,甚至是完全刷入一個完整的系統(tǒng)。
那么怎么才能擁有它?怎么能用它替換掉官方的Rec?
一般來說有兩條路,一個是通過系統(tǒng)漏洞得到ROOT,再用ROOT刷入Rec,另一個就是解鎖后用Fastboot刷入。

六.傳說中的Fastboot(小白了解即可)
這東西之前一直沒提,他并不是一個分區(qū),他只是BL的一個功能。簡單來說你進(jìn)入了BL,啟用了Fastboot,這時候,只要你手機(jī)線接到電腦,就可以從電腦輸入指令給手機(jī),讓手機(jī)執(zhí)行許許多多的命令。當(dāng)然你不必學(xué)習(xí)這個,更不用學(xué)習(xí)那些命令,一般來說,各位大神肯定會把命令做成一個程序,你只要點下鼠標(biāo),做些很簡單的操作即可。
上一節(jié)說到怎么刷入Rec,就是通過這Fastboot(FB)來完成的。雖然論壇有很多大神的腳本,運(yùn)行下就OK,但是如果可以,我還是建議大家學(xué)學(xué)這玩意,無論系統(tǒng)怎么升級,這些東西是變不了的,學(xué)會了這個,才能以不變應(yīng)萬變。
刷入了CWM Recovery基本上刷機(jī)已經(jīng)夠了,刷什么ROM?用什么內(nèi)核?刷啥基帶?自己慢慢選吧。

七.有個東西叫ADB(小白了解即可)
ADB這東西和Fastboot比較相似,都是電腦連接手機(jī),給手機(jī)下達(dá)命令的,但是ADB是基于System的,而FB是基于BL的。
原本ADB的功能很小,也就是把個安裝包發(fā)到手機(jī)上安裝上,或者卸載,或者在電腦和手機(jī)間收發(fā)下。但是有了ROOT,ADB就不一樣了,他可以給手機(jī)下達(dá)一些“圈圈”以外的命令,因為安卓就是基于Linux系統(tǒng)的嘛,所以就可以下達(dá)很多Linux命令,例如rm,cp,mv,甚至是dd。。。
有些手機(jī)在沒有Rec之前,就要靠dd命令來刷img鏡像文件。
而且通過系統(tǒng)漏洞獲取ROOT一般也是通過ADB。
我個人覺得,ADB的東西更偏向于Linux的學(xué)習(xí),不多講了。

八.如何玩轉(zhuǎn)安卓系統(tǒng)(小白選學(xué))
光刷機(jī),刷ROM,刷基帶,刷內(nèi)核,這還不夠。給你一個強(qiáng)大的內(nèi)核,可以給CPU調(diào)節(jié)頻率,調(diào)節(jié)電壓,調(diào)節(jié)模式。可以調(diào)節(jié)最大音量,有這樣那樣的功能,不會用還是不行啊。
因為不同的內(nèi)核調(diào)節(jié)方式不盡相同,因此不說具體操作了。
我想CPU頻率應(yīng)該不用多說,大家都懂,CPU電壓你又知道多少呢?一個CPU里面有許多的晶體管,其實就是一堆開關(guān),例如斷路就是0,通路就是1,由此來執(zhí)行二進(jìn)制命令。所以有人把CPU當(dāng)電阻絲說什么功率一定降壓升高電流之類的。別出來丟人了,不知道咱可以不說話,說話可以帶上“個人認(rèn)為”,“我猜測”,那一個個義正嚴(yán)詞的樣子,太誤人子弟了?;貧w正題,CPU電壓的意義在于,CPU電壓越高,0或1的信號就會越清晰,這很好理解吧。但是升壓也會有副作用,就是電子遷移效應(yīng)增強(qiáng),CPU放熱更加嚴(yán)重。同樣的降壓會讓CPU更涼快,但是信號會變模糊,CPU穩(wěn)定性會降低。在這里我并不多講CPU的工作原理,只想讓大家記住調(diào)CPU的一條規(guī)律。頻率和性能正相關(guān)。發(fā)熱和電壓正相關(guān)。當(dāng)然,熱的能量從哪里來?答案肯定是電池,省電還是費電大家肯定明白。
總歸:頻率一定時,在穩(wěn)定的前提下,電壓越低越好。
至于CPU調(diào)節(jié)模式,比較多,還是請問度娘吧。

九.我也要玩DIY(向高手晉級)
刷機(jī),刷別人的ROM,總歸沒有100%符合自己口味的吧,尤其是愛美化的同學(xué),想加個電量百分比了?想讓狀態(tài)欄透明了?想漢化了?這時候你就需要學(xué)習(xí)反編譯了。
之前早在第二節(jié)就概述的源碼,編譯,是怎么回事。這里說的反編譯自然很好理解,就是把已經(jīng)編譯成的程序在變回源碼。你不是說很難回來了嘛?對的,很難不是不能,一部分東西是能回來的,這部分東西就是后綴是apk,jar,odex的文件。
由于這一節(jié)學(xué)問太大了,我不可能手把手教會你每一個操作,我只能說的大致方向,其他自行百度。首先反編譯肯定要“配置java環(huán)境”之后要用“apktool”這個程序?qū)pk進(jìn)行反編譯,對得到的源碼進(jìn)行一定的修改,最后在用apktool編譯成apk文件。最后,用“Auto-sign”軟件對編譯得到的程序進(jìn)行簽名。如果是系統(tǒng)程序,要求簽名不能改變,那么就用winrar打開apk文件,其實apk文件就是個zip壓縮包,將自己編譯的內(nèi)容替換掉原本apk的內(nèi)容即可。如果程序是apk和odex兩部分,那么需要用smali把odex反編譯為smali文件,按需要修改后再用baksmali編譯成classes.dex加入到apk中。如果需要將apk分離成apk+odex兩部分,那么需要用dexopt-wrapper這個程序,在linux環(huán)境下分離。如果這odex是系統(tǒng)文件,也需要簽名,使用busybox的dd命令復(fù)制原始文件簽名到你Diy的文件。
請原諒我講的如此概略,因為實在學(xué)問太深了。

十.我也要發(fā)布ROM(高手晉級)
自己漢化,自己美化,自己加入了很多功能,是不是也想給網(wǎng)友們一起分享呢?這時候你需要學(xué)習(xí)怎么做ROM了。其實做ROM的關(guān)鍵是CWM Recovery腳本的編寫。你把你的ROM或者一個XXX補(bǔ)丁,文件與腳本用ZIP的方式打包起來簽名,就可以了,具體的格式規(guī)范我還是建議你親自拆個包看看。編寫腳本才是關(guān)鍵,你問我如何編寫腳本?首先說腳本就是一條條的命令,Recovery會按照你的命令執(zhí)行操作,一般都是這樣的流程。格式化命令,掛載命令,刪除命令,復(fù)制命令,,設(shè)置映射,設(shè)置文件權(quán)限,刷入內(nèi)核img文件,刷入基帶的img文件,最后最后結(jié)束掛載。具體的英文命令是什么請去CWM網(wǎng)上查,或者拆個別人的包,看看就全都清楚了,這節(jié)我也不會說太多,因為內(nèi)容實在太多。請大家善用百度谷歌,我學(xué)的這些也全是百度谷歌來的。

十一.Linux下編譯開發(fā)(你就是高手)
一般Linux環(huán)境,多用的操作系統(tǒng)是Ubuntu,我強(qiáng)烈推薦大家用Ubuntu-10.04.4-desktop-amd64這個版本,Ubuntu并不是版本越高越好。我當(dāng)年用11點幾的最新版本,編譯安卓4.0,結(jié)果是一堆的錯誤,根本make不出東西。另外編譯源碼最好用64位操作系統(tǒng),32位下編譯也是一堆錯誤。
好啦,內(nèi)容沒說先說一堆注意事項。下面正式介紹編譯。
我們說了開源,這里就是開源的真正意義所在了,例如谷歌發(fā)布的JB4.1,現(xiàn)在源碼還未公布,假如公布了,你首先要下載源碼,一般來說好幾個G是肯定的。如果是親兒子,拿來用就好,如果是非谷歌的手機(jī),還要去下載這款手機(jī)的源碼,然后將這部分源碼覆蓋到下載的源碼上。之后根據(jù)需要添加刪除修改代碼。最后執(zhí)行編譯得到系統(tǒng)的,內(nèi)核的,等等img文件,最后Fastboot刷入img到手機(jī)。如果需要的話,解壓img做成ZIP刷機(jī)包,然后REC下刷。
編譯安卓代碼需要很多的軟件組件,如果編譯內(nèi)核還需要交叉編譯器。我只能說,你現(xiàn)在所做的事情和谷歌工程師所做的事情是一樣的所以我不可能說的面面俱到,說真的,我也只不過能做到拿來源碼,很簡單的修改下,Copy點大神寫的功能添加進(jìn)來編譯到頭了。
例如頂頂大名的CM團(tuán)隊(CyanogenMod)就是從事源碼編譯這方面工作的。

Word文檔下載:

本帖隱藏的內(nèi)容

anzhuokepujuzuo_xiaobaiyiyebiangaoshou_164747.rar (9.09 KB, 下載次數(shù): 55)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多