當前位置:首頁 » 安卓系統 » 博客android

博客android

發布時間: 2023-03-13 03:44:33

A. 有研究android系統源碼的博客嗎

我幹了3年Android sdk開發,覺得到了瓶勁沒法更進一步,於是花了一年多點時間,大概摸到點門徑。根據前輩的經驗,Android底層完全入門需要兩年。

先說下我的入門過程:
第零步,下載源碼,我下的4.2的,框架層源碼10G,內核2G多,ctags給框架層建的標簽文件都有600M,當時讓我有點震撼,用的vim+ctags+cscope來閱讀,還算不錯,架構挺清晰的。

第一步,我找到了一本好書《Android的設計與實現 第一卷》它講了Android框架層的啟動,初始化,服務框架初始化,Binder,消息循環,PackageManagerService,ActivityManagerService。據作者說後面會出講UI子系統的第二卷,拭目以待。其實這本書看了幾十頁我就發現需要第二步的知識,否則看不下去,於是跳去第二步。

第二步,學習Linux系統編程,在看《Android的設計與實現》的時候我發現,框架層的Native部分,全是Linux編程。為了掌握這部分知識,我花了4個月學習了《Linux系統編程手冊》(TLPI)這本1000多頁的書,我以前是搞WIndows文件系統這塊的,所以C語言還比較熟,TLPI的習題很有意思,量也比較大,堅持下來還是收獲很多。

第三步,花了4個月學習了一些Linux內核的知識,看了LKD,PLKA看了一半多。越學越沒底,覺得不懂得越來越多,不過這個也正常,只有靠慢慢磨,估計以後要不斷的磨這塊。

第四步,回頭看Android源碼,這次一口氣看完了《Android的設計與實現 第一卷》,終於對框架層有了譜。同時真的數次把我看暈,前面看Linux內核源碼都沒這么暈,不斷在java層和Native層之間跳有點磨腦漿。其中我又覺得Java的基礎沒有打太牢,回去補了一個月的《Core Java》第八版。但是這書沒有涉及UI子系統,於是又看了《Android內核剖析》

第五步,《Android內核剖析》(這本書實際上是講框架層的,作者也是個搞嵌入式的,所以他在寫框架層的時候文筆不太好,很羅嗦,不過還是有很多看點,到他後來寫做ROM,玩開發板時估計是說到了他的本行,一下子遛起來了看得出還是挺有水平的,這本書知識有點舊畢竟講的是2.3很多代碼已經過時,但是作者很多點子很有參考價值)這本書講UI子系統和按鍵/觸摸消息處理系統還是很有分量的,尤其13章View繪制那裡,結合源碼研究很有收獲。而後面他講編譯框架和ROM相關的東西都是挺寶貴的資料。

第六步,為了再補一下其他諸如電源管理模塊等子系統的知識看了,《深入理解android》系列,個人認為這個系列看起來有點不太舒服,不過作為補充印證還是比較有價值。

第七步,《Android系統源代碼情景分析》,羅升陽的源碼分析大作,比《Android的設計與實現》分析得更細致,但缺點是涉及到模塊比較少,選用的源碼也比《Android的設計與實現》更舊一點。看完書後需要去研究作者的博客,東西挺多的,一定讓你滿意。

第八步,買塊開發板自己玩。這步我還沒走到,原因是我覺得我還差點准備知識。可能要再幾個月,到時准備入塊6410或者樹莓派。

最後,由於我11年以前都是搞Windows這塊的,所以對Linux知識不是很了解,不得已看了這么些書,如果是一直做Linux的人,很多步驟估計可以省掉了。直接上源碼才是正道。

我本身做著移動GIS開發的工作,學框架層全是因為興趣,但招聘平台Android框架層開發人員還是蠻有競爭力的有不少定製ROM,智能電視的工作都處於人才難求狀態,畢竟有一定的門檻,現在各種ios培訓,讓奔著錢干開發的人紛紛湧入,而ios只能幹sdk開發的缺點就暴露出來了,一堆新手老手,菜鳥大牛全擠在SDK開發這塊,我覺得不太妙。 反觀Android這邊,雖然入門菜鳥沒有搞ios來錢,但是可持續性很好,從sdk-》框架》驅動》內核這樣幹下去。干著干著發現自己漸漸變成了Linux開發者/嵌入式開發者的人也不少,新人,老手,菜鳥大牛各居其位,層次性很好。
轉載

B. 如何配置android開發環境 博客園

第一步:安裝JDK

要下載Oracle公司的JDK可以網路「JDK」進入Oracle公司的JDK下載頁面,選擇自己電腦系統的對應版本即可。

下載到本地電腦後雙擊進行安裝。JDK默認安裝成功後,會在系統目錄下出現兩個文件夾,一個代表jdk,一個代表jre。

JDK的全稱是Java SE Development Kit,也就是Java 開發工具箱。SE表示標准版。JDK是Java的核心,包含了Java的運行環境(Java Runtime Environment),一堆Java工具和給開發者開發應用程序時調用的Java類庫。

我們可以打開jdk的安裝目錄下的Bin目錄,裡面有許多後綴名為exe的可執行程序,這些都是JDK包含的工具。通過第二步講到的配置JDK的變數環境,我們可以方便地調用這些工具及它們的命令。

JDK包含的基本工具主要有:
javac:Java編譯器,將源代碼轉成位元組碼。
jar:打包工具,將相關的類文件打包成一個文件。
javadoc:文檔生成器,從源碼注釋中提取文檔。
jdb:debugger,調試查錯工具。
java:運行編譯後的java程序。

第二步:配置Windows上JDK的變數環境

很多剛學java開發的人按照網上的教程可以很輕松配置好Windows上JDK的變數環境,但是為什麼要這么配置並沒有多想。

我們平時打開一個應用程序,一般是通過桌面的應用程序圖標雙擊或單擊系統開始菜單中應用程序的菜單鏈接,無論是桌面的快捷圖標還是菜單鏈接都包含了應用程序的安裝位置信息,打開它們的時候系統會按照這些位置信息找到安裝目錄然後啟動程序。

知道了一個應用程序的安裝目錄位置,我們也可以通過命令行工具打開,如QQ的位置為:C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin,QQ的應用程序名為為QQProtect.exe,那麼我們打開命令行工具,然後進入到「C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin」目錄,再輸入「QQProtect」,即可運行qq。

如果我們希望打開命令行工具後,直接輸入「QQProtect」就能啟動qq程序,而不是每次都進入qq的安裝目錄再啟動,這個時候可以通過配置系統環境變數Path來實現。右擊「我的電腦」,選擇「屬性」,在打開窗口中點擊左邊的「高級系統設置」,出現「系統屬性」窗口,在「高級」選項卡下面點擊「環境變數」。

編輯系統變數名「Path」,在「Path」變數(字元串內容)的後面追加qq的安裝目錄:;C:\Program Files (x86)\Tencent\QQ\QQProtect\Bin 注意追加的時候要在目錄字元串的前面加個英文的分號;,英文分號是用來區分Path裡面不同的路徑。

確定保存後,再回到命令窗口,不管在任何目錄下,你只要輸入qqprotect的命令,qq就會啟動。

通過啟動qq的例子,我們總結下:當要求系統啟動一個應用程序時,系統會先在當前目錄下查找,如果沒有則在系統變數Path指定的路徑去查找。前面我們說了JDK包含了一堆開發工具,這些開發工具都在JDK的安裝目錄下,為了方便使用這些開發工具,我們有必要把JDK的安裝目錄設置了系統變數。這就是為什麼在Windows安裝了JDK後需要設置JDK的bin目錄為系統環境變數的原因。

為了配置JDK的系統變數環境,我們需要設置三個系統變數,分別是JAVA_HOME,Path和CLASSPATH。下面是這三個變數的設置防範。

JAVA_HOME
先設置這個系統變數名稱,變數值為JDK在你電腦上的安裝路徑:C:\Program Files\Java\jdk1.8.0_20。創建好後則可以利用%JAVA_HOME%作為JDK安裝目錄的統一引用路徑。

Path
PATH屬性已存在,可直接編輯,在原來變數後追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 。

CLASSPATH
設置系統變數名為:CLASSPATH 變數值為:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 。
注意變數值字元串前面有一個"."表示當前目錄,設置CLASSPATH 的目的,在於告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序所需要的類或者包。

第三步: 下載安裝Eclipse

Eclipse為Java應用程序及Android開發的IDE(集成開發環境)。Eclipse不需要安裝,下載後把解壓包解壓後,剪切eclipse文件夾到你想安裝的地方,打開時設置你的工作目錄即可。

Eclipse的版本有多個,這里選擇下載Eclipse IDE for Java EE Developers這個版本。

第四步:下載安裝Android SDK

配置了JDK變數環境,安裝好了Eclipse,這個時候如果只是開發普通的JAVA應用程序,那麼Java的開發環境已經准備好了。我們要通過Eclipse來開發Android應用程序,那麼我們需要下載Android SDK(Software Development Kit)和在Eclipse安裝ADT插件,這個插件能讓Eclipse和Android SDK關聯起來。

Android SDK提供了開發Android應用程序所需的API庫和構建、測試和調試Android應用程序所需的開發工具。
我們發現google提供了集成了Eclipse的Android Developer Tools,因為我們這次是已經下載了Eclipse,所以我們選擇單獨下載Android SDK。

下載後雙擊安裝,指定Android SDK的安裝目錄,為了方便使用Android SDK包含的開發工具,我們在系統環境變數中的Path設置Android SDK的安裝目錄下的tools目錄。

在Android SDK的安裝目錄下,雙擊「SDK Manager.exe」,打開Android SDK Manager,Android SDK Manage負責下載或更新不同版本的SDK包,我們看到默認安裝的Android SDK Manager只安裝了一個版本的sdk tools。

打開Android SDK Manager,它會獲取可安裝的sdk版本,但是國內有牆,有時候會出現獲取失敗的情況。

從彈出的log窗口中,我們可以看到連接 失敗了。我們通過ping命令,發現果然網路不通。

從萬能的互聯網上,我們找到了解決這個問題的方案,而且行之有效。

更改host文件
首先更改host文件,host文件在C:\Windows\System32\drivers\etc目錄下,用記事本打開「hosts」文件,將下面兩行信息追加到hosts文件末尾,保存即可。如果你的是windows8系統可能沒有許可權修改host文件,可以右擊hosts文件,將Users組設置為可對hosts文件完全控制的許可權即可。

203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com

上面兩行放在host文件的意思是將本地訪問dl.google.com和dl-ssl.google.com定向到ip地址為203.208.46.146的伺服器上。

將Android SDK Manage上的https請求改成http請求
打開Android SDK Manager,在Tools下的 Options 裡面,有一項 Force 將這一項勾選上,就可以了。

再打開Android SDK Manager.exe,正常情況下就可以下載Android的各個版本的sdk了。你只需要選擇想要安裝或更新的安裝包安裝即可。這里是比較耗時的過程,還會出現下載失敗的情況,失敗的安裝包只需要重新選擇後再安裝就可以了。

如果通過更改DNS也無法下載Android SDK,還有兩個方法,第一個是自備梯子FQ,第二個是從這個網站上下載

第五步:為Eclipse安裝ADT插件

前面我們已經配置好了java的開發環境,安裝了開發Android的IDE,下載安裝了Android SDK,但是Eclipse還沒有和Android SDK進行關聯,也就是它們現在是互相獨立的,就好比槍和子彈分開了。為了使得Android應用的創建,運行和調試更加方便快捷,Android的開發團隊專門針對Eclipse IDE定製了一個插件:Android Development Tools(ADT)。
下面是在線安裝ADT的方法:
啟動Eclipse,點擊 Help菜單 -> Install New Software… ?,點擊彈出對話框中的Add… 按鈕。

然後在彈出的對話框中的Location中輸入,Name可以輸入ADT,點擊「OK」按鈕。

在彈出的對話框選擇要安裝的工具,然後下一步就可以了。

安裝好後會要求你重啟Eclipse,Eclipse會根據目錄的位置智能地和它相同目錄下Android sdk進行關聯,如果你還沒有通過sdk manager工具安裝Android任何版本的的sdk,它會提醒立刻安裝它們。

如果Eclipse沒有自動關聯Android sdk的安裝目錄,那麼你可以在打開的Eclipse選擇 Window -> Preferences ,在彈出面板中就會看到Android設置項,填上安裝的SDK路徑,則會出現剛才在SDK中安裝的各平台包,按OK完成配置。

到這里,我們在windows上的Android上的開發環境搭建就完成了,這時候,你用Eclipse的File——》New——》Project...新建一個項目的時候,就會看到建立Android項目的選項了。

C. 怎麼寫android博客 簡書

注冊賬號,然後去寫文章

D. 如何使用一部安卓手機搭建博客(無root)

Key的內容粘貼復制的 id_rsa.pub 內容 ,Title隨便填

然後打開Ternmux,輸入

創建好了後就啟動了一個HTTP伺服器,可以通過 https://用戶名.github.io 來訪問

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:736
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:148
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:544
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:365