當前位置:首頁 » 安卓系統 » android底層

android底層

發布時間: 2022-01-10 21:32:38

1. Android底層是java,我可不可以理解為精通了java就精通了Android

android 底層是運行時動態庫,再往上是c/c++ 的framework,再往上是java,會java只是可以做應用層的開發了,但是實際項目中有可能用到js(和h5的交互),用到c(自己編寫native代碼),用到linux命令(搭建一些編譯環境),會了java只是基礎中的基礎。
另外:不要用精通這個詞,可以改為熟悉了解。

2. android 底層是用c還是c++

Linux系統是作為Android的底層操作系統

3. 如果非要較真,Android的「底層」到底在哪

如果非要較真,Android的「底層」到底在哪?
「底層」其實是個很模糊的概念,所以即使知道Android採用了分層架構,我們也很難判斷手機廠商所謂的「底層優化」具體所指。因為僅從字面理解,它可以是絕對的底層——Linux核心層,也可以是相對的底層——應用程序框架層、系統運行庫層和Linux核心層。
如果對「底層優化」這四個字刨根問底,那會是個很有技術難度的問題。這不禁讓人思考為何手機廠商會如此頻繁地提及這個概念,身為技術小白的同事對此表示:「也許是因為『底層優化』聽上去真的很像從根本上解決問題吧。」
Android到底有什麼問題?
如果從產品的維度來考量,到目前為止iPhone依然是綜合表現最好的智能手機。但值得一提的是,在強大的Android陣營中,即使眾廠商都曾站在同一條起跑線上(原生Android),現如今也有人已經走得很遠。
當記者試圖追溯當初第三方OS在中國爆發的契機時,原點心OS的產品運營總監李俊表示:「Android最開始的版本太差了。」造成這種局面的原因有很多,最重要的兩點莫過於Google退出中國市場,以及Android的設計初衷。
一方面,Android與iOS很大的一個區別是:在Android的生態中,手機廠商基本上都是「第三方」。所以在適配硬體的過程中,不同廠商之間的表現也千差萬別,相機就是其中的典型。同一顆攝像頭,同一個解決方案,不同成像質量的例子不勝枚舉。
另一方面,Android誕生時並不是軟硬體結合的產物,所以相比蘋果對iOS的控制力,Google對Android的開發者基本上採取了「放任自流」的態度。自動運行、自動聯網、常駐後台、廣告推送、通知欄推送、彈窗推送等非常敏感的許可權,Android幾乎全都提供給了開發者。
而開發者無論是公司還是個人,他們基本上都是靠利益驅動的。所以當他們發現在舉手投足之間,就能為自己帶來巨大的商業回報時,許可權濫用就成為了一種常態。基於以上兩點,作為一個對用戶體驗還有追求的Android手機廠商,「底層優化」就變得必不可少。
底層是哪一層?
Android的基本架構就是四層——應用程序層、應用程序框架層、系統運行庫層和Linux核心層。當記者采訪不同的業內人士,詢問「底層優化」的范圍時,他們幾乎給出了完全不同的答案。
FView CEO彭林:「應用程序層和應用程序框架層。系統運行庫層(手機廠商)動不了,Linux核心層更動不了。」
樂蛙CEO 趙力:「應該是指應用程序框架層,有能力動下面兩層的廠商不多。」
錘子軟體開發工程師:「中間兩層都有(應用程序框架層、系統運行層)。」
LBE CEO 張勇:「下面三層對手機廠商而言都算是底層,主要優化在最下面兩層。」
魅族軟體工程師吳章金:「APP(應用程序層)之下,用戶看不到的摸不著的都可以叫底層,更底層的則為 系統運行層以及之下。」
小米安全總監馬驥:「優化是貫穿整體的,每一層都需要。」
答案的多樣性讓問題本身失去了意義,不過在追問的過程中可以洞見,Android手機很多被詬病的問題都是可以通過技術手段來解決的,而Android話語權的分散只是為這一過程平添了難度。

4. android底層庫包含哪些

Android的本地實現層次具有基本的庫和程序,這些庫和程序是Android基本系統運行的基礎,主要包含以下內容:
l 標准C/C++庫Bionic;
l C語言工具庫libcutils;
l init進程;
l shell工具;
l C++工具庫libutils。

5. 安卓底層指的是Linux Kernel嗎

Android其本質就是在標準的Linux系統上增加了Java虛擬機Dalvik,並在Dalvik虛擬機上搭建了一個JAVA的application
framework,所有的應用程序都是基於JAVA的application
framework之上。

6. android的底層是基於什麼系統

安卓系統底層是基於Linux的,是基於C和C++的, 上層應用大部分是基於「JAVA"的。

也就是說系統是C/C++編寫的,系統外部應用是Java的。


你是指的是android平台代碼開發還是希望對android的腳本,版本控制方面的開發,如果是android平台代碼的開發。

到google網站下載source code,一點點開始研究底層的代碼 Java基礎就可以如果想腳本,版本控制或者android底層的C代碼的開發:那就需要你對C很精通對android的源碼結構非常了解,而且JNI等等技術你都要明白。

7. 安卓底層開發能做什麼

android底層?
你是指的是android平台代碼開發還是希望對android的腳本,版本控制方面的開發?
如果是android平台代碼的開發:
到google網站下載source code,一點點開始研究底層的代碼 Java基礎就可以
如果想腳本,版本控制或者android底層的C代碼的開發:
那就需要你對C很精通對android的源碼結構非常了解,而且JNI等等技術你都要明白

8. 關於學習安卓底層,懂得進

我幹了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開發者/嵌入式開發者的人也不少,新人,老手,菜鳥大牛各居其位,層次性很好。

9. Android應用開發和底層開發哪個更有前途

不是很清楚你說的前途是什麼?多賺錢 or 技術達人 or 兩個平台的發展前景? 1、很大程度,吸金看產品不看平台,多數產品會每個平台都做,好產品才能賺錢。 2、技術上講, iOS基於unix, android基於linux, 都是基於POSIX標準的系統,很多底層功能都是類似的。但iOS封閉,限制了很多功能,android是開放的,自由發揮程度很大。應用開發上, iOS的SDK封裝得不錯,用objective-c開發還是蠻方便的,android用java開發難度也不大,但設備多、系統版本多、商城多,經常一個軟體得放出n多版本的安裝包。應該說做android可以玩得更深。 3、哪個平台以後會更大眾、更流行: 我覺得android 。 現在iphone系統的性能、用戶體驗都比android好很多,但隨著設備發展,android的這些問題會好起來,而且android系統開源、做的廠家多,以後android手機的市場會更大,android的軟體也就更賺錢了。

熱點內容
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:659
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:306
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:284
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:812
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:158
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:89
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:503
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:653
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:477
電腦主伺服器怎麼開機 發布:2024-09-20 07:19:07 瀏覽:728