導航:首頁 > 操作系統 > android系統移植和

android系統移植和

發布時間:2022-08-31 06:30:26

『壹』 android系統具體是什麼系統阿Android系統移植又是什麼意思

Android系統其實就是一套專為手機開發的框架,用這個框架可以編寫在手機上運行的程序,比如游戲什麼的,
移植是指在pc機編寫好的代碼移植到手機上,就這么簡單

『貳』 linux下的應用程序移植到android系統,求思路!

如果是java之類的代碼,可能移植難度要低些。移植程序是個苦活,與其沒完沒了的調試,還不如按照原來的設計思路和功能重新寫代碼呢。

『叄』 安卓系統怎麼移植

。。這個哪有移植。。不就是安卓系統嘛。。安卓系統在每台機上都要進行修改的。這個要自己研究的,和要官方公布源碼才行的

『肆』 請教關於android移植的問題

一、概述

移植的工作一般的主要不外乎做以下這些事情:

A、有的現成好的直接選配

這個工作主要是熟悉該源碼的編譯系統,就是源碼自動化編譯是怎麼組織的。Linux環境下不外乎是Makefile及腳本。所以得熟悉這兩個方面的知識。

B、有的不好的代碼修改好後選配

這個工作不僅僅是要熟悉編譯系統,還要熟悉別人的代碼結構。一般牛X的軟體架構也牛X,所以主要是學習牛X的人設計的代碼結構,所謂的框架。框架懂了,再熟悉裡面的細節,就可以改了。

C、添加新代碼並選配

這個工作同樣要熟悉編譯系統及源碼結構。這個時候對框架可能不能僅僅限於知道,而且要深刻理解,按照牛人的思路來設計代碼。

所以Android的移植就可以簡單的說成有以下方面的工作:

A、熟悉android的編譯系統

主要是.mk文件的規則,這個官網及源碼中有文檔說明(development/Ndk/Docs/android-mk.txt),得好好研究清楚。

就源碼中的腳本,譬如:build/envsetup.sh

B、熟悉android的源碼目錄結構

system:根文件系統相關的一些代碼

packages:android的一些APP的源碼

frameworks:framework層代碼,不改動android源碼的話,主要就是app層調用hal層代碼的介面實現的源碼

hardware:hal層代碼

devices和vendor:廠商定製代碼

build:編譯系統的一些mk文件

out:是編譯輸出目錄

主要的一些目錄就是上面了,對於初學的話,差不多就足夠了。當然所有的都熟悉是最好了。

C、三個層次的代碼

要向android添加代碼的話,一般主要熟悉三個層次的代碼就差不多了。

APP<--->framework<--->HAL

APP:應用程序層次,主要是Java代碼,通過跨平台的java編寫的代碼來完成需求邏輯對系統提出功能性要求,讓系統去完成相應的動作。

framework:cpp代碼,主要是提供給java調用的介面,這些介面通常是去調用到hal層的代碼。

HAL:登記一組供framework回調的函數,來完成一定的功能。

『伍』 我向學習安卓系統移植。

如何製作ROM
有點玩機興趣的android愛好者,應該對custom ROM這種東西都不陌生。我介紹root許可權獲取的時候,就直接用的MoDaCo Custom ROM作為例子。適用於Hero比較好的ROM還有不少,比如Drizzy』s Custom Hero ROM等等,都可以在XDA上找到。肯定有不少朋友感到很好奇,這些ROM都是怎麼做的。考慮到中文社區相關資料比較少,在這里拋磚引玉,大概原理介紹一下。

對於第三方ROM來講,通常都包括兩部分,一個recovery image,一個update.zip。而大多數的第三方ROM的特色,就是加入了很多東西,比如superuser程序來獲得root許可權,busybox來擴充命令行下的功能,各種各樣的配置文件或者小工具,比如默認打開中文locale,等等。這些看似神奇的改動,都是在 update.zip裡面搞的,custom recovery image的主要作用就是引導用戶的操作,比如讓你先備份,再應用update.zip,再重啟之類的操作。由於custom recovery image和update.zip的耦合性很小,所以不少custom ROM直接都用同一個custom recovery image,這個好像是出自MoDaCo作者之手。再然後,我之前的文章已經有對 recovery image的簡單講解,所以這里,我主要介紹一下update.zip的製作。

如果我們直接把MoDaCo ROM中的update.zip解包,我們會發現有一個boot.img,一個data文件夾,一個system文件夾,一個META-INF文件夾。這個data文件夾放的是init.rc,而本來在系統中,init.rc就是在data目錄下的。當然,兩者的作用不一樣,這里的init.rc主要作用是開機執行你希望執行的命令,比如MoDaCo的init.rc就是install busybox。
而值得詳細說明的,就是system文件夾。MoDaCo ROM版本的system下有一系列作者希望放到系統中的工具,對於apk文件,就放到app下,工具就放到bin和xbin下,依此類推。換句話說,system或者data這個目錄層次結構是取決於你自己的,你希望放的東西屬於什麼,應該運行在online系統的什麼目錄下,update.zip裡面就應該是有相應的目錄路徑,然後東西就放在裡面。

具體點,我們現在要依樣畫葫蘆,搞一個新的update.zip,那麼第一步就是首先建立一個文件夾
mkdir new-update
好,假設我新update.zip的作用就是預裝我自己的一個程序,my.apk,那麼,我建立對應的子目錄
mkdir -p new-update/system/app
cp my.apk
這樣,system目錄就完成了。但是這時,update.zip的目錄層次還沒完,我們看MoDaCo ROM中的update.zip中有文件夾叫META-INF,這個文件夾很關鍵,除了根目錄下的三個文件外,裡面層層目錄,就包括了一個文件,叫 update-script,內容如下
show_progress 0.1 0
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
_dir PACKAGE:data DATA
show_progress 0.2 0
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
show_progress 0.2 100

這裡面的內容,大部分是針對你要做的修改設置的。比如
_dir PACKAGE:system SYSTEM:
就是把system中新增的工具拷貝到手機上,然後
set_perm_recursive 0 0 0755 0644 SYSTEM:xbin
set_perm_recursive 0 0 0755 0644 SYSTEM:sd
set_perm 0 0 04755 SYSTEM:bin/su
set_perm 0 0 04755 SYSTEM:bin/a2sd
set_perm 0 0 04755 SYSTEM:xbin/busybox
就是設置MoDaCo ROM中新增程序的許可權,然後
_dir PACKAGE:data DATA:
把data下的內容(就是那個init.rc)復制到手機上,然後
format BOOT:
write_raw_image PACKAGE:boot.img BOOT:
刷boot分區。
那我們這里沒有這么多新增的東西,應該怎麼寫呢?
_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 04755 SYSTEM:app/my.apk
就可以了。你當然還可以做一些別的事情,比如加一個FORMAT DATA之類的^_^開個玩笑,千萬別這個干,不然你的數據就全沒了。
好,那麼也就是說,我們要在自己的new-update目錄下也建一個/META-INF/com/google/目錄,然後把新的update-script扔進去。
完了么?差一點。其實如果你沒有別的需求了,那麼就完了,可以把下面這一小塊跳過。下面這一小塊,是關於boot.img的。在如何修改Android系統的Ramdisk以及boot鏡像文章中,我們談到,如果刷boot鏡像有問題,就要用別的方法讓系統boot我們自己的boot image了,這個別的方法,自然就是用update.zip了。MoDaCo ROM版本的update.zip也包括了一個boot.img,但是如果我們有出於各種需求自己修改的boot.img,自然就可以替換掉原來的了。當然注意,如果加了boot.img,那麼update-script裡面就不能漏掉
write_raw_image PACKAGE:boot.img BOOT:
這句。
好,到現在,我們的new-update目錄下有
/system/app/my.apk
/META-INF/com/google/update-script
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA
boot.img
恩,那麼就進入打包階段。你可能會問,這有什麼難的,直接zip一下不就得了。如果要是這么簡單就好了,你打包後,必須把你的內容都sign一下,得到相應的cert,才能在fastboot模式中被承認並成功刷機。
在sign你的文件之前,先做這么幾件事
打包。進入update文件夾,zip update.zip xxx xxxx xxxx xxxx xxxx。什麼意思呢,就是只把你需要的文件打包,不要用./*作為參數。而且相對路徑最好是在update下面,不要在外面用zip update.zip ./update/*這種命令打包
去sun網站下載最新的
下載這個文件testsign一定要用JRE1.6.0.16或者更高,我知道這個有點惡心,但是提供下載的testsigh.jar就是按照這個版本或者更高編譯的,你用老版本就運行不了。
好,下下來以後,執行這個命令
~/jre1.6.0_16/bin/java -classpath testsign_path/testsign.jar testsign update.zip update-signed.zip
稍微講解一下,java程序是最新jre下的,testsign_path是你放testsign.jar的地方,建議放到sdk的tool目錄下。update是待sign文件,update-signed是指定的生成文件名。
sign執行完後,用unzip -l看,會發現
/META-INF/MANIFEST.MF
/META-INF/CERT.SF
/META-INF/CERT.RSA

『陸』 S3C2440的開發板能移植android系統嗎

(一)成為Android高手必須掌握的8項基本要求

【1】 Android操作系統概述

1. Android系統架構。

2. Android利用設計理念。

3. Android 開源知識。

4. Android 參考網站與權威信息。

【2】 Android SDK及其開發環境搭建

1. Android SDK的版本發布。

2. ADT插件的安裝和更新。

3. Android利用程序架構。

4. 建立第一個Android項目(HelloAndroid!)。

5. 通過Eclipse導入一個開源項目

6. 可視化的界面開發工具

7. 布置利用程序到Android模仿器或手機

【3】Android源代碼開發環境搭建與源碼結構分析

1.開發系統主機環境搭建。

2. 安裝軟體包Required Packages。

3.Ubuntu 6.06 (Dapper)。

4. Ubuntu 8.04。

5. Ubuntu 7.10。

6.Install javva。

7.源碼結構分析Android source (kernel / platform/application)。

8. Android build system。

9. Android bring up。

【4】 Android 利用程序設計模型

1. drawable。

2. layout 。

3. values(strings.xml、colors.xml、style.xml 、arrays.xml等)。

4. R.java分析及應用 。

5. AndroidManifest.xml。

6. Android.mk。

7. Activity 。

8. Intent。

9. Service 。

10.ContentProvider。

【5】 Android 利用程序界面(一)

1. TextView的應用。

2. drawable的應用 。

3. 引用Drawable色彩常數及背風景。

4. CharSequence數據類型與ResourceID利用。

5. DisplayMetrics的應用。

6. Style樣式的定義。

7. Button事件處理。

8. setContentView的利用。

9. Intent對象的應用。

10. Bundle對象的實現。

11. startActivityForResult法子。

12. AlertDialog窗口。

13. Button與TextView的交互。

14. Typeface對象應用。

15. Gallery對象。

16. 多按鈕利用。

17. Menu功效菜單程序設計。

18. ProgressDialog與線程利用。

19. 動態產生按鈕並最大化。

20. 選擇功效的對話框。

21. Android主題(Theme)實現。

22. 支撐多種分手率的屏幕。

【6】 Android利用程序界面(二)

1. EditText與setOnKeyListener事件。

2.ImageButton的焦點及事件處理。

3. Toast對象的應用。

4. CheckBox的isChecked屬性。

5. 多選項CheckBox的利用。

6. RadioGroup組與onCheckedChanged事件。

7. ImageView的堆棧利用。

8. Spinner與setDropDownViewResource。

9. ArrayList與Widget的依附性。

10. Gallery與衍生BaseAdapter容器。

11. JavaI/O的利用。

12.ImageButton選擇特效。

13. AutoCompleteTextView與數組。

14. AnalogClock與DigitalClock的原理。

15. DatePicker與TimePicker利用。

16. ImageView點擊事件與透明度處理。

17. ProgressBar與Handler的整合利用。

18. GridView與ArrayAdapter設計。

19. ListView的布局。

20. ListActivity與Menu整合技術。

21. JavaI/O與ListActivity的聯合。

22. 應用decodeFile法子。

23. 運用Matrix對象來縮放圖文件。

24. Bitmap與Matrix旋轉ImageView。

25. RadioButtonID。

26. 對話窗口上的ICON圖標。

【7】Android 利用交互與手機模塊把持

1. PendingIntent與AlarmManager。

2. PendingIntent 與 SmsManager 。

3. Intent 與 Email。

4. 數據存儲法子。

5. NotificationManager與Notification。

6. Adapter對象與Cursor。

7. TelephonyManager的利用。

8. RunningTaskInfo的利用。

9. Provider.Contact的應用。

10.Provider.Calendar的應用。

11. Service與Runnable整合並用。

12.BroadcastReceiver與Intent 。

13. receiver與intent-filter。

14. Android網路編程

15. HTTP懇求與連接。

16. WebView.loadUrl。

17. Webkit 與 WebCore。

18. HttpURLConnection與URLConnection和運行線程。

19. Runnable混搭SurfaceView。

20. Google ApI。

【8】 Android 系統服務

1. Activity Manager。

2. Windows Manager。

3. Surface Manager(surface flinger)。

4. Package Manager。

5. Telephony Manager。

6. Content Provider。

7.Resource Manager。

8. AssetManager。

9. View System。

10.Location Manager。

11. Notification Manager。

12.AlarmManager。

13. BatteryManager。

14. HardwareManage。

15. 如何添加一個新系統Service並開放API。

16. 要害服務。

17. Android系統啟動流程。

(二)成為Android高手必須掌握的20項進階要求

ARM平台 Android 移植與驅動核心開發

Android嵌入式智能操作系統是基於Linux內核和驅動的,對於HTC、華為等公司開發Android操作系統時,需要專門將Android移植到特定硬體平台下,同時將必要的驅動進行編寫及開發。本課程旨在讓學員成為Android的核心層開發者,讓學員在這種嵌入式設備廠商中謀得核心開發人員的職位。

1. Android系統體系及移植相關工具

1.1Android操作系統體系結構介紹。

Android Linux內核移植介紹。

文件系統,toolbox等移植。

存儲驅動移植。

Bootloader相應方案與移植。

Android虛擬器Dalvik移植介紹。

1.2ARM處理器介紹。

ARMv5TJS。

ARM中斷處理。

ARM體系結構與ARM處理器的體系結構。

IP核、晶元與開發板。

ARM處理器結構處理器模式。

. 寄放器。

. 流水線結構。

C語言內嵌匯編款式與編程實例。

1.3ARM指令系統。

.算術邏輯指令。

.指令對狀態寄放器的影響。

.對比指令。

.分支指令。

.移位。

.指令點陣圖。

.辨認機器指令。

1.4內存造訪與內存把持。

.數據匯流排與地址匯流排的應用與實例。

.STR/LDR 。

1.5ARM歷程調用標准。

.LDM/STM。

.反匯編。

.APCS。

.C語言函數與匯編的互相調用。

【案例】應用Android Linux patch進行Linux內核的構建

2. AndroidLinux內核移植與核心開發

2.1ARM處理器的Android系統構建。

2.2輸入輸出設備驅動移植。

2.3存儲設備nand flash,MMC/SD卡驅動移植。

2.4Framebuffer移植。

2.5 Touchscreen移植 。

2.6 Open Binder IPC移植。

【案例】

2.7在ARM處理器上移植Android實驗 。

2.8編寫Nand flash驅動。

2.9移植Framebuffer驅動。

2.10硬體相關部分(鍵盤、觸摸屏、LCD等)。

3. Android相關環境庫、以及Bionic系統移植

3.1libc移植。

3.2libm移植。

3.3libdl移植。

3.4libm移植。

3.5 busybox, toolbox移植。

【案例】

1.移植glibc。

2.移植busybox和toolbox。

4. Android Dalvik移植一

4.1 JNI Call Bridge相關原理 。

4.2 dx, dalvitvm原理和應用。

4.3 Dalvik指令款式。

4.4 Dalvik履行款式dex 。

4.5 Java位元組碼款式。

5. Android Dalvik移植二

5.1 Dalvik Library原理 。

5.2 dalvit libcore核心庫移植。

5.3 dalvit/vm/native移植。

5.4 Dalvik Interpreter原理 。

5.5 Dalvik Mterp。

6. ARMAT&T匯編

6.1AT&T匯編語法詳解。

6.2gas工具的應用。

6.3label標簽的作用。

6.4數據與代碼的散播。

7. 鏈接腳本ld-script

7.1 段地址的斷定。

7.2 編寫ld-script。

7.3 ELF款式與libc函數庫的關系。

8. 時序電路根基

8.1電平信號。

8.2 電路圖分析。

8.3時序圖分析。

8.4datasheet查看。

8.5s3c2440的外圍器件結構。

8.6GPIO操作。

9. AMBA匯流排標准

9.1 AMBA匯流排標准 。

9.2 FCLK/HCLK/PCKL頻率分配與設置。

9.3 Watchdog計時操作。

9.4 UART操作。

9.5 ARM中斷體系。

9.6 異常向量表。

9.7 ARM模式切換。

9.8 ARM中斷把持器。

9.9 軟中斷。

9.10 Linux系統調用的實現。

10. Nand Flash把持器

10.1 Flash原理。

10.2 Nand把持器原理及時序分板。

10.3k9f1208時序分析。

11. 內存把持器

11.1 s3c2440物理地址散播 。

11.2 SDRAM原理與時序。

11.3 內存把持器的物理連接。

11.4 地址對齊。

11.5 SRAM造訪。

12. 內存管理單元

12.1 MMU的原理。

12.2ARM協處理器指令。

12.3 section模式。

12.4 small page模式 。

12.5 I & D TLBs 。

12.6 I & DCache。

12.7 哈佛結構的原理與實現。

13. DMA 直接內存造訪的機制與應用

13.1 DMA的狀態機 。

13.2 DMA的把持。

14. 觸摸屏介面與ADC介面 與實例

14.1 ADC原理。

14.1 觸摸屏介面與把持。

15. LCD把持器

15.1 圖形顯示原理。

15.2 LCD把持器。

15.3 LCD時序。

15.4 LCD驅動相關的框架與體系 。

16. I2S音頻匯流排

16.1音頻硬體原理。

16.2 I2S時序。

16.3 s3c2440上I2S的操作。

16.4音頻設備的裸驅動討論。

17. CS8900網卡把持

17.1 邏輯鏈路層與MAC層。

17.2 CS8900原理與時序分析。

17.3後續網卡裸驅動討論與體系結構。

18. TCP/IP協議棧移植,與網路體系結構

18.1 LwIP TCP/IP協議棧簡介 。

18.2 LwIP配置與編譯。

18.3 tftp配置與編譯。

19. Bootloader原理與移植

19.1u-boot的配置、編譯。

19.2u-boot啟動歷程分析。

19.3ARM-Linux的啟動請求。

19.4 ARM-Linux kernel的ld-sript分析 。

19.5 u-boot到ARM-Linux的跳轉代碼分析 。

19.6應用mkimage製作啟動鏡像文件。

20. ARM-Linux原理與移植

20.1ARM-Linux的配置、編譯。

20.2ARM-Linux啟動代碼分析。

20.3ARM-Linux 地址映射的關系。

20.4 Busybox的配置、編譯 。

『柒』 如何安裝Android系統PC移植版 Android-x86

今天在上網本上裝了個
android-x86
2.2還不錯,我是三星的
nc10,上網本,問題:1、無線網卡型號
ar5007
,驅動不了,比較郁悶

2、彈出對話框後滑鼠變得很慢,意外是藍牙居然可以驅動,等會兒試試有線網卡能用不,軟體安裝應該不是什麼問題,可以在windows
xp下面直接到android系統安裝文件的目錄里如果連不上網就比較郁悶了

『捌』 Android系統移植Settings.apk部分子菜單無法打開甚至閃退如何解決

鏈接位置不對吧,,或者 你系統中不存在這個應用

『玖』 蘋果手機能否登錄安卓的我的世界

這個是不能的,因為蘋果是ios系統所以和安卓系統不是一個平台,所以不能聯機的。

聯機可以知按照以下步驟:兩以及兩台以上可以玩PE的設備(IPAD IPHONE Itouch samsun moto 山寨機 諾基亞等等)
1、第一步:幾台道設備連接無線網(注意,是同一個路由器!)
2、第二步:一個人進入游戲,進入地圖版,然後進入暫停菜單,如果第三個方框是「Server is visible"則房間已建成,如果是"Server is invisible則點擊它切換成權「Server is visible"
3、第三步:其他三個人點擊」Join Game"就可以搜索到房主的房間
4、第四步:去一起冒險吧!

閱讀全文

與android系統移植和相關的資料

熱點內容
程序員可以干什麼 瀏覽:70
績效考核權重分配演算法 瀏覽:524
android應用logo 瀏覽:898
光遇安卓服墓土商店什麼時候開 瀏覽:566
月收益翻倍的源碼 瀏覽:636
asop源碼放在哪裡 瀏覽:988
電腦伺服器密碼怎麼找 瀏覽:574
jdp轉換pdf 瀏覽:749
把pdf導入iphone 瀏覽:508
米哈游租賃的雲伺服器是哪個 瀏覽:524
android直接打電話 瀏覽:1016
ubuntu停止命令 瀏覽:283
cnc攻絲編程 瀏覽:869
換個手機號碼app怎麼注冊 瀏覽:320
怎麼下載小猴口算app 瀏覽:115
輕鏈app的貨怎麼樣 瀏覽:625
電腦里的u盤如何加密 瀏覽:370
我的世界全部版本伺服器下載地址 瀏覽:50
交換原理pdf 瀏覽:229
菜鳥驛站app怎麼邀請新人 瀏覽:448