android移植教程
Ⅰ 如何在iOS與Android間移植APP
除了像"I am rich"這種定點打擊蘋果燒包族的APP外,大多數應用都會盡量覆蓋包含盡可能多的用戶。這就需要考慮在iOS和Android兩種主流操作系統間移植的問題。如果為各個平台量身定做界面,就能讓用戶利用以往的使用習慣快速學習。但為多個平台設計各異的界面畢竟是需要工作量的。如何才能在跨平台移植的時候只做那些最有必要的工作呢?兵不打無准備之仗,先來看看iOS與Android間有什麼差別吧。
1、物理鍵之返回
Android手機的基本設計思路是是把最常用的功能硬體化,所以就有了home,menu,back三個功能鍵(其實界面設計很簡單啦,就是「用戶到某個地方做某事」,所以就有了導航用的back和展開命令用的menu)。
喬老爺夠狠,要求iOS設備只有一個物理鍵home(據說以後還會把這個鍵砍掉,用手勢當home)。所以在iOS上,返回是通過title bar左側的back按鈕來實現的。但這樣設計也有好處,因為這個back「軟」鍵上的文本是可以改的。在這個按鈕上填上上一次的題目,可以讓用戶明確地知道按下它會回到哪裡。
2、物理鍵之menu
在android上,與當前頁面相關的命令會收到由「menu」鍵喚出的菜單里。而在iOS上,這些命令會放在屏幕底部的toolbar上。這種展示方式相比android的優點是「能一目瞭然地看到能夠對當前頁面做的操作」。而在android上,必須按下menu鍵才能看到命令。你不希望用戶在使用你的APP時肩負著把這些命令背下來的艱巨任務吧?
3、Android的加分項:通知系統
在iOS上,向用戶推送信息的方式只有一種,就是alert box。這在iOS只支持單任務的時候還好說,提醒一來,哦…… 看完了就點確定。但到了多任務版本後就有點不合用了。雖然iOS的alertbox可以在用戶使用某APP的時候彈出其他APP的提示,但這樣未免太煩了。有時一些提醒並不需要強硬中斷用戶當前的操作,比如後台在下載的報紙下完了。Android有更精巧的Status Bar Notification和Toast Notification(詳情可參看鍾磊的手機系統消息通知設計的整理和分析和我寫的如何為手機界面設計提示消息)。當要推送非緊急的消息時,Android平台可以使用更柔和的狀態欄提示。
4、Android的加分項:長按操作
在Android上,當需要對一個對象採取一些操作時,可以長按,喚出相應的context menu(這是對一個項目的,如果是針對當前整個頁面的操作,Android有menu物理鍵,iOS有toolbar)。但是在iOS平台上就不太有地方去放置針對屏幕上某一個對象的大量操作(一兩個是可以的,放在項目旁邊就O了)。可能在喬老爺看來,當需要對一個對象進行「炒、炸、烹、煮、蒸、熏、爆」的時候,就說明你想要的太多了。
5、iOS的加分項:右上角的快捷操作按鈕
對於「右利手」用戶而言,單手持機時屏幕左下角到右上角的連線是右手拇指的甜區。所以依照iOS的Guideline,當前頁上最最最最最最最最最最最最最最常用的按鈕應該放在titlebar的右端。
其實你會發現,清楚了這些差異之後,如何在平台間移植APP就清晰明了啦。
Android -> iOS
1、在每一級的標題欄左上角加上返回上一層的按鈕。按鈕名一定要是上一級的名稱,不能用「返回」等無法透露回到哪裡的文字。
2、由於iOS上沒有menu鍵,所以需要將menu上的命令轉化成toolbar上的圖標。因此要額外繪制圖標或者使用內置圖標。
3、由於在iOS上沒有「長按出context menu」的規則,所以需要給項目添加一個detail頁面。不能在list頁面操縱項目,那就再drill down一層唄。
4、由於iOS的通知方式只有alert box,所以諸如「下載完成」等提醒只能篩出重要的部分,用alert box傳遞。對次要提醒的設計可以看我之前的文章。
iOS -> Android
1、左上角的返回按鈕拿掉。
2、工具欄上的命令可以放到menu里。
3、如果對某個對象的命令很多,可以為其設計長按的context menu
4、不是很緊急的提醒就不要用alert box了,可以換成status bar notification
5、標題欄右側的高頻按鈕可以保留,這個在android上也可以通用。
其實總的來說,也就兩點:
1、差異主要體現在導航方式和頁面命令上,所以對於頁面元素的布局基本沒影響。尤其是對於全屏游戲這種基本沒導航,控制項又都擺在屏幕上的更是影響不大。
2、iOS對硬體的依賴更低。如果實在是小公司,趕時間,沒精力跨平台移植的話,可以考慮只為iPhone設計,然後直接套到android上,湊活著也能用的。但android用戶在使用時也會覺得有一點點怪怪的。
Ⅱ Android源碼是怎麼移植的
2.4搭建Android SDK開發環境 上一節我們講解了如何下載、編譯Android系統及linux內核,接下來,講解如何搭建Android SDK開發環境,包括Eclipse下載安裝、ADT插件安裝、Framework源碼級調試、定製Android系統等相關知識。 2.4.1 下載、安裝Eclipse 說明:當前新的SDK開發環境Google採用了ADT Bundle,如果為了方便安裝和下載,可以選擇下載最新的ADT Bundle。 ADT Bundle 選擇Linux平台即可。 首先、從Eclipse官方網站上下載EclipseIDE Classic,注意選擇合適平台(在32位Ubuntu中,選擇Linux 32 Bit版本): 下載完成後,解壓縮,運行Eclipse:
Ⅲ android 中如何移植軟體到不同的手機終端上
安卓的app移動分兩種,一種是單一apk,如果沒有加其他限制,那麼直接找到對應apk拷貝即刻實現移植,另一種apk不是獨立工作,需要的包文件分離,這樣需要重新打包每個文件成單一apk才能搬移
Ⅳ mt6592.安卓4.4.2,刷機包移植教程
android卡刷包可以直接進入recovery模式下刷機了,無法轉線刷的,因為架構都不樣。
Recovery模式指的是一種可以對安卓機內部的數據或系統進行修改的模式(類似於windows PE或DOS)。在這個模式下可以刷入新的安卓系統,或者對已有的系統進行備份或升級,也可以在此恢復出廠設置。
進入recovery的方法:
1、將手機完全關機後,按住音量鍵下+電源鍵,進入bootloader界面;
2、按音量鍵將游標移動到recovery那一行;
3、按電源鍵,之後手機會自動重啟進入recovery模式。
其中音量鍵為游標選擇鍵,可以用來移動游標,電源鍵則是確認鍵。
recovery模式下,對應的選項如下
1.reboot system now(重啟手機)。
2.apply update from external stroage(從外部sd卡中載入升級包升級)。
3.apply update from internall stroage(從內部sd卡中載入升級包升級)。
4.apply update from cache (從手機緩存中載入升級包升級)。
5.wipe date/factroy reset(清除用戶數據並恢復出廠設置)。
6.wipe cache partition(清除系統緩存)。
7.backup & restroe(備份/還原)。
8.mount &storage(掛載sd卡,也就是掛載手機到u盤模式,將換手機變成讀卡器)。
Ⅳ 如何移植ANDROID系統
貌似你的手機配置條件不夠哦~~
就算給你移植成功了200MHz的CPU也夠吃力的~
現在android手機主頻都500MHz以上的~
想移植的話好多東西要學~例如SPL啊、驅動啊--這些都是要有比較強的專業知識的~
我建議你到魅族M8的論壇去看看
魅族M8就是一款從WinCE系統到android系統移植的機器~
到論壇問問裡面的高手應該會有幫助~
Ⅵ android系統怎麼移植
不行,要下載全志定製過的Android系統,因為每個平台的pin腳功能都不一定一樣,想要讓硬體跑起來,驅動一定要先跑好,驅動裡面要控制io口的
Ⅶ android rom移植 ext4文件系統 需要修改哪些
說到RFS/EXT4,這其實是一種磁碟格式,但RFS性能比較低下,這也是導致三星機子高配低能根本原因(三星Galaxy S全系列原生都是採用的RFS,包括i9000),而EXT4是一種linux的磁碟格式,要知道android的根本核心就linux所以EXT4才是最適合linux的文件系統,於是就有民間高手把系統的磁碟格式從RFS轉換為RFS,但光轉磁碟的格式沒有用,還要系統的支持,系統支持關鍵是要內核(也就是kernel),因為是kernel從系統底層讀取數據,所以要支持EXT4系統的kernel才行。
下面介紹一種轉換RFS和EXT4的方法:
RFS->EXT4 :
1.安裝clockworldMod 3.0.0.5--------也就是CWM3,(2.5的不行)
2.刷EXT4的ROM,XDA上多的很,刷前CWM3會自動檢查當前文件系統格式,如果不是EXT4,它會自動將RFS轉換為EXT4,然後再刷ROM的,之後你就是EXT4系統,你可以跑分試下,一般RFS系統的在800-1000,而EXT4的話都在1400以上,而且你可以看到是I/O那項分最高。
EXT4->RFS:
再就是如果某個ROM它不支持EXT4系統,那你刷這個ROM的話就會提示出錯,或者開不了機,XDA上說可以用odin刷官方原版,但我用odin刷的時候,半天沒動靜,我就把數據線給拔了,結果再開機,卻出現一個電腦和手機連接中間有個叉的圖案,我以為這下完,要返廠了,抱著試試看的心理然後我就拔電池,再進挖煤,還能進(大家要知道能進挖煤,就沒有變磚),就又重刷了DK28原版,但考慮到這樣做風險太大,我搜遍整個XDA終於在一個外鏈上找到了答案,刷ReRFS.zip這個其實和用odin刷原版是一樣的,但考慮到風險,還是這個比較穩妥。其它的RFS ROM好像不行,因為這個ROM裡面有轉換格式的腳本,而其它的ROM好像沒有。
Ⅷ 如何將一個在eclipse上編寫的Android程序移植到Android手機上!最好有詳細的步驟說明,謝謝了
如果你不需要發布到市場里,只是要安裝到自己手機里的話,很簡單:首先確認你的工程編譯好了(Eclipse一般都是自動編譯,如果不自動,你按ctrl+B),然後找到你的工程目錄點擊進去,找到bin文件夾,裡面有一個擴展名為apk的文件,你可以放到手機里去安裝了,要注意的一點是你要確保 手機里 設置-->應用程序-->未知源 這個是勾選的
Ⅸ 如何移植 openni 到 Android 上
教你如何裝軟體 Android軟體安裝教程
1、安裝91手機助手:下載91手機助手(點擊下載),下載完成後雙擊圖標並根據提示進行安裝。
2、連接識別手機:用數據線將手機和計算機相連接,打開91手機助手,此時計算機屏幕會提示安裝連接驅動,確認安裝後91手機助手會自動下載安裝驅動程序。
驅動安裝完成之後軟體提示已連接上手機,並顯示目前連接的手機型號。
3、安裝軟體:雙擊下載的後綴名為.apk的文件,計算機屏幕會彈出對話框,點擊安裝軟體即開始安裝到手機上,軟體安裝完成之後對話框會提示安裝成功並倒數5秒自動關閉。
提示:瀏覽器或下載工具有可能把的下載的文件後綴名為.zip,如果碰到這種情況將文件重命名為.apk後綴即可。
4、運行軟體:進入手機程序菜單,找到安裝的軟體點擊即可運行該軟體。
還有疑惑?不懂就問
附註:這里需要跟大家解釋一下關於如何將軟體安裝到SD卡里的問題。
Android系統是基於Linux平台進行設計的操作系統,而Linux支持的文件系統格式是ext2,我們一般購買的存儲卡都是fat32格式的,並沒有辦法直接使用,Google的設計師們也認為使用機器本身自帶的內存更快更穩定,因此在2.2固件之前官方固件都是不支持把軟體裝到存儲卡的。
但是人民的智慧是無窮的,既然官方不支持,我們就自己動手!上述中我們提到了,阻止把軟體裝到SD卡的問題主要有兩個,一是存儲卡不支持,二是固件不支持。因此我們的解決辦法也針對這兩個問題,搞定它就能夠實現把軟體裝到存儲卡,這里我們常常把這個過程叫APP2SD(即APP TO SD,把軟體裝到SD卡的意思)。
簡要步驟說明:
1、在電腦上下載Acronis Disk Director Suite,安裝完後把卡放到讀卡器裡面插入USB,用軟體格式化成ext2格式。
2、刷一個支持APP2SD的固件,目前市面上大多數使用中的固件是已經APP2SD過的,大家可以在設置裡面找到手機的詳細固件信息,上網查看看固件是否已經APP2SD過,這樣就不用重新刷固件了。
Ⅹ 請教關於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回調的函數,來完成一定的功能。