自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

論Android移植到現(xiàn)有硬件平臺的可行性

系統(tǒng)
通過前兩天對Android的Linux平臺以及啟動過程的初步學(xué)習(xí),我覺得Android的意義不僅僅是手機平臺那么簡單,通過對其框架,結(jié)構(gòu)的分析,我們可以將Android應(yīng)用到任何移動硬件平臺上,甚至自己研發(fā)出新的更好的框架。連Google自己也說,我們的目標(biāo)是,讓我們發(fā)布的強大的平臺能夠應(yīng)用到數(shù)千種不同的移動設(shè)備上。

通過前兩天對Android的Linux平臺以及啟動過程的初步學(xué)習(xí),我覺得Android的意義不僅僅是手機平臺那么簡單,通過對其框架,結(jié)構(gòu)的分析,我們可以將Android應(yīng)用到任何移動硬件平臺上,甚至自己研發(fā)出新的更好的框架。連Google自己也說,我們的目標(biāo)是,讓我們發(fā)布的強大的平臺能夠應(yīng)用到數(shù)千種不同的移動設(shè)備上。這是可以理解
的,Google就是這樣,它的每個策略都比常理要更進一步。不推出專屬的硬件,而是一個通用的移動設(shè)備的軟件平臺,使Android可以更方便的快速占領(lǐng)手機操作系統(tǒng)的市場,而最終可以達(dá)到的份額也會非常的可觀。

當(dāng)然,這都是后話了,group上這幾天的焦點話題就是,我們?nèi)绾巫孉ndroid在現(xiàn)有的硬件平臺上跑起來,而不是僅僅用模擬器來模擬它?這個命題估計對所有hacker都有巨大的吸引力,如果Android能在自己的手機平臺上跑起來,所有的開發(fā),就突然變得有意義了。我不是說目前的開發(fā)沒有意義,畢竟GoogleN位數(shù)的獎金在那里擺著的,呵呵,不過對于上層開發(fā)者來說,最終目的還是應(yīng)用的實際性和流行性,對吧?應(yīng)用有沒有實際價值,實際硬件平臺上跑一跑就知道了。

從Android現(xiàn)有的開源情況看,所有的hacking已經(jīng)有一個比較明確的指導(dǎo)方向了,就是依靠Benno***放出的方法來hack各種image并分析一些東西,從我之前的兩篇文章也可以看出大致步驟。我們現(xiàn)在能夠得到的東西,包括ramdisk image,system image以及data image,當(dāng)然還有open source的Linux kernel。所以,所有的工作都應(yīng)該從這幾個東西入手。先看看kernel部分。由于Android基于Linux,因此所有的目標(biāo)移植平臺都應(yīng)該允許運行Linux,對于嘗試階段的我們來說,***是找一款默認(rèn)就是采用Linux操作系統(tǒng)并提供完善的develop environment的設(shè)備,這樣,我們只需要找出Google提供的Linux 2.6.23 kernel和現(xiàn)有的kernel有什么不同,把所有需要的修改做成patch,patch到現(xiàn)有系統(tǒng)上,就有可能成功移植整個Android,無須重新編譯Google的Linux 2.6.23 kernel,然后絞盡腦汁想怎么port到某個設(shè)備上。先下載一個standard Linux 2.6.23 kernel,然后使用命令diff -ruN linux-2.6.23/ Google-linux-2.6.23/ >lk.patch打開lk.patch,God,有3萬多行。仔細(xì)分析一下,大部分都是和Qemu以及goldfish有關(guān)的。我們要做的事情,是讓Android
在真實平臺上跑起來,所以不管是用于虛擬處理器的Qemu還是SDK模擬的硬件平臺Goldfish,都不是我們所需要的,要在patch里面去掉他們,因為我們希望運行在真實的硬件平臺上。恩,說實話,是一個很麻煩的事情,你要分析又30000多行的patch阿……不過里面有一超長段是關(guān)于yaffs的補丁,如果你目標(biāo)平臺所帶的內(nèi)核已經(jīng)支持yaffs了,就沒必要要了。這是我修改后的patch,放在googlepages上的,要是哪天又被和諧了我也沒有辦法。

下一步,就是讓打了Android patch的內(nèi)核運行在你的目標(biāo)硬件上,具體步驟是和不用硬件的開發(fā)環(huán)境相聯(lián)系的。當(dāng)然,還需要導(dǎo)入Android的rootfs以及filesystem。將他們用mkfs.jffs2構(gòu)建成jffs文件系統(tǒng)即可。需要注意的是,這個合適的硬件平臺是需要挑選的,看看Android模擬器里面的信息:
# cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS :
331.77
Features : swp half thumb fastmult vfp edsp java
Google默認(rèn)的是ARM926EJ-S核心。這就在一定程度上限制了我們能夠port的平臺選擇,Benno曾經(jīng)試驗
在Openmoko上移植Android,***失敗了,原因就是ARM926EJ-S采用的是ARMv5TEJ指令集,而Openmoko的ARM920T采用的是ARMv4T指令集。所以,不僅僅是需要能運行兼容EABI的Linux的設(shè)備那么簡單。

以上是理論步驟的邏輯分析,由于我目前手上沒有試驗平臺,所以也無法驗證,如果有朋友***成功移植了Android,多多交流。

【編輯推薦】

  1. Android曝安全漏洞 黑客可安裝擊鍵記錄軟件
  2. 新版Android SDK搞差別待遇 Google激怒開發(fā)人員
  3. 初識Android程序開發(fā)(1)
責(zé)任編輯:張燕妮 來源: ChinaUnix博客
相關(guān)推薦

2013-05-13 09:28:38

移植

2012-04-12 17:41:02

2011-04-28 11:04:22

DataReader分頁

2009-09-21 16:40:42

Hibernate可行

2011-12-13 20:36:26

Android

2011-06-24 11:35:01

內(nèi)鏈

2009-12-25 14:26:40

無線接入技術(shù)集成

2009-06-15 09:57:46

HibernateIBatis

2013-08-27 11:15:20

2010-07-23 16:08:38

OPhone平臺

2012-10-26 13:48:54

云計算運維云安全

2011-11-14 09:10:08

虛擬化

2020-09-16 09:19:49

數(shù)據(jù)中心

2012-04-09 09:39:59

虛擬化桌面虛擬化VDI終端

2022-03-11 08:31:50

API網(wǎng)關(guān)微服務(wù)

2011-08-17 13:07:19

無線局域網(wǎng)

2011-12-02 09:25:46

2019-10-21 17:17:48

Windows操作系統(tǒng)微軟

2011-07-05 10:37:03

虛擬化VMware

2011-07-05 14:12:06

關(guān)鍵任務(wù)虛擬化服務(wù)器
點贊
收藏

51CTO技術(shù)棧公眾號