久久精品电影网_久久久久久电影_久久99精品久久久久久按摩秒播_天堂福利影院_国产男女爽爽爽免费视频_国产美女久久

手機(jī)軟件中動(dòng)態(tài)加載方法及其應(yīng)用

所屬欄目:電子技術(shù)論文 發(fā)布日期:2016-07-08 13:58 熱度:

   隨著電子通訊技術(shù)的不單進(jìn)步,消費(fèi)者對(duì)手機(jī)的功能需求越來越多樣化和高端化,但是手機(jī)生產(chǎn)商通常只能夠滿足的是具有普遍性的消費(fèi)需求,手機(jī)用戶為了實(shí)現(xiàn)手機(jī)功能的個(gè)性化,往往需要通過外部操作來完成,在這之中,通過靜態(tài)鏈接的方式來進(jìn)行加載的效果有限,動(dòng)態(tài)加載的功能則更為強(qiáng)大。本文的主要內(nèi)容就是以功能手機(jī)為例,介紹如何實(shí)現(xiàn)動(dòng)態(tài)加載在功能手機(jī)上的應(yīng)用。

電子科技文摘

  《電子科技文摘》電子期刊征稿,堅(jiān)持為社會(huì)主義服務(wù)的方向,堅(jiān)持以馬克思列寧主義、毛澤東思想和鄧小平理論為指導(dǎo),貫徹“百花齊放、百家爭鳴”和“古為今用、洋為中用”的方針,堅(jiān)持實(shí)事求是、理論與實(shí)際相結(jié)合的嚴(yán)謹(jǐn)學(xué)風(fēng),傳播先進(jìn)的科學(xué)文化知識(shí),弘揚(yáng)民族優(yōu)秀科學(xué)文化,促進(jìn)國際科學(xué)文化交流,探索防災(zāi)科技教育、教學(xué)及管理諸方面的規(guī)律,活躍教學(xué)與科研的學(xué)術(shù)風(fēng)氣,為教學(xué)與科研服務(wù)。

  一、手機(jī)動(dòng)態(tài)加載的研究背景

  手機(jī)已經(jīng)成為一件普及率極高的通信工具,當(dāng)前的手機(jī)市場(chǎng)從整體上來看已經(jīng)逐漸表現(xiàn)出一種飽和的態(tài)勢(shì),手機(jī)市場(chǎng)的持續(xù)發(fā)展,必須依賴于換機(jī)市場(chǎng),滿足當(dāng)前手機(jī)用戶的換機(jī)需求。消費(fèi)者換機(jī),實(shí)際上就是對(duì)手機(jī)功能的進(jìn)一步追求,當(dāng)然,要提升手機(jī)的功能,除了購買新手機(jī)外,另一種方式就是對(duì)現(xiàn)有手機(jī)的功能進(jìn)行加載。市面上的手機(jī),我們分為兩種,一種就是在2011年掀起了一撥熱潮的智能化手機(jī),另一種就是不具備智能操作系統(tǒng)的功能手機(jī)。智能手機(jī)與功能手機(jī)的區(qū)別就在于,手機(jī)是否有可以獨(dú)立運(yùn)行的操作系統(tǒng)。智能手機(jī)能夠允許用戶自行操作、下載、安裝程序,最為普遍的就是游戲軟件和一些生活類軟件。智能操作系統(tǒng)作用的發(fā)揮,還必須依賴第三方服務(wù)商提供與操作平臺(tái)相匹配的程序或者軟件,通過操作系統(tǒng)與第三方服務(wù)商的聯(lián)合作用,實(shí)現(xiàn)手機(jī)功能的拓展與擴(kuò)充。而功能手機(jī),通常只能通過接口的方式,例如比較常見的Java程序?qū)崿F(xiàn)靜態(tài)的加載。基本上,在當(dāng)前除了智能手機(jī)和PDA手機(jī)以外,其他手機(jī)都屬于功能手機(jī)的范疇。

  功能手機(jī)要實(shí)現(xiàn)程序的加載,只能通過不斷的加載本機(jī)的符合來實(shí)現(xiàn),它無法借助第三方程序來完成安裝,只有通過接口這種靜態(tài)的鏈接,編譯成可執(zhí)行的二進(jìn)制文件,然后下載到非易失性的存儲(chǔ)設(shè)備上運(yùn)行,這種不能由于手機(jī)的硬件存儲(chǔ)資源非常有限,所以,功能的加載與手機(jī)的內(nèi)存容量之間往往是矛盾的。當(dāng)前智能手機(jī)中最為常見的就是安卓系統(tǒng),它與Windows類似,也是一個(gè)獨(dú)立的操作系統(tǒng),智能手機(jī)的加載雖然具有很高的靈活性和便捷性,但是它對(duì)手機(jī)硬件質(zhì)量要求高,對(duì)ROM和RAM空間有很高的要求。功能手機(jī)要實(shí)現(xiàn)動(dòng)態(tài)加載,只能采取移植J2ME的方式,但是系統(tǒng)資源消耗大,速度慢,而且容易產(chǎn)生故障。所以,采用這種方式來實(shí)現(xiàn)功能手機(jī)的動(dòng)態(tài)加載并不受用戶歡迎,難以得到普及和應(yīng)用。所以,在本文中,我們探析的主要內(nèi)容就是如何在功能手機(jī)中實(shí)現(xiàn)與第三方應(yīng)用軟件的動(dòng)態(tài)加載。

  二、手機(jī)軟件動(dòng)態(tài)加載的具體方案

  手機(jī)動(dòng)態(tài)加載能夠通過不同的程序與方式實(shí)現(xiàn),本文采用的方式是重定位來實(shí)現(xiàn)第三方應(yīng)用軟件加載。實(shí)現(xiàn)這種動(dòng)態(tài)加載實(shí)際上是在一個(gè)交叉編譯的環(huán)境中來完成的,也就是在PC上需要建立一個(gè)開發(fā)環(huán)境,對(duì)手機(jī)的代碼和平臺(tái)的代碼進(jìn)行編譯,在手機(jī)上也需要建立一個(gè)空間,實(shí)現(xiàn)重定位。采用這種模式進(jìn)行動(dòng)態(tài)加載,需要三個(gè)流程。

  (一)函數(shù)跳轉(zhuǎn)

  要進(jìn)行函數(shù)跳轉(zhuǎn),是因?yàn)椋诠δ苁謾C(jī)中,本機(jī)函數(shù)是動(dòng)態(tài)鏈接的方法,但是要實(shí)現(xiàn)第三方軟件的應(yīng)用,本機(jī)函數(shù)就必須確保能夠與其協(xié)同工作,我們通過函數(shù)跳轉(zhuǎn)表來表達(dá)這一問題。具體操作方式就是在手機(jī)端中建立一個(gè)列表,將所有函數(shù)的入口地址輸入這個(gè)列表中,這樣,我們?cè)赑C端只需要通過地址的查找就能夠?qū)崿F(xiàn)函數(shù)的使用。當(dāng)然,手機(jī)端中的函數(shù)分為普通函數(shù)和函數(shù)指針,所以應(yīng)該按照返回值的類型將它們區(qū)別開來,分別建立在列表中,并且將列表的首地址用EX-PORT輸出,這樣,我們只需要在PC端采用IMPORT命令引入列表就可以實(shí)現(xiàn)與手機(jī)端的函數(shù)調(diào)用。

  (二)資源重定位

  在進(jìn)行重定位以前,我們必須做好前期的數(shù)據(jù)準(zhǔn)備工作,也就是先從ADS1.2編譯鏈接形成的ELF文件中取出需要重定位的數(shù)據(jù)(相對(duì)于虛擬地址的偏移量),由于每一個(gè)平臺(tái)的文件格式要求存在著差異,所以應(yīng)該進(jìn)行格式的調(diào)整,將文件下載到手機(jī)t卡,動(dòng)態(tài)加載時(shí)在手機(jī)端通過二次重定位來實(shí)現(xiàn)。

  第一,文件格式的分析。文件格式的統(tǒng)一,是能夠?qū)崿F(xiàn)重定位的重要前提,一般平臺(tái)對(duì)文件格式有著自己的要求,包括文件頭、Code部分、已初始化數(shù)據(jù)部分、未初始化數(shù)據(jù)部分、重定位數(shù)據(jù)和資源數(shù)據(jù)六部分組成。第二,重定位操作。重定位操作是在一個(gè)交叉編譯環(huán)境下進(jìn)行的,它包括手機(jī)端和PC端兩部分,在兩個(gè)環(huán)境中的操作方式有著很大的不同,PC端操作如下:建立一個(gè)scat文件,指定編譯、鏈接的虛擬ROM地址和虛擬的RAM地址,然后利用ADS1.2編譯源代碼,通過ADS1.2鏈接生成帶調(diào)試信息的ARM映像文件。運(yùn)用gmake運(yùn)行Makefile文件即可為源文件中的每個(gè)函數(shù)生成一個(gè)ELF段,并鏈接合并得到ELF文件code.axf。將code.axf文件中的各個(gè)段分別按照該系統(tǒng)定義文件格式結(jié)構(gòu)生成一個(gè)新的文code.df(自定義的文件及擴(kuò)展名)。手機(jī)端實(shí)現(xiàn):在RAM中申請(qǐng)文件大小的空間,將整個(gè)文件載入到RAM中。通過重定位的數(shù)據(jù),找到該數(shù)據(jù)所在的位置,把該數(shù)據(jù)地址-虛擬的RAM地址+申請(qǐng)空間的首地址,這樣就完成了重定位。然后把手機(jī)端PC的指針指向CODE的首地址,直接運(yùn)行即可正常運(yùn)行。

  (三)外部資源訪問

  動(dòng)態(tài)加載需要訪問到的外部資源,主要有三項(xiàng):字符串、圖片還有鈴聲。三種資源的屬性和格式有著很大的差異,所以我們?cè)谶M(jìn)行訪問時(shí)也必須采用不同的方式來進(jìn)行。

  第一,字符串的處理。字符串的處理較為復(fù)雜,因?yàn)樽址泻芏鄠(gè)語種,每一個(gè)語種表達(dá)同一個(gè)字符串的長度也有著很多的不同,并且字符串從整體上看特別容易重復(fù),我們?cè)诜治鲎址臅r(shí)候采用的是哈希算法,它能夠有效的解決字符重復(fù)問題。我們?cè)趯?duì)字符串進(jìn)行編譯的時(shí)候,必須采用雙組制的方式,也就是每一個(gè)語種我們都需要使用兩組編譯,一個(gè)組用來存放字符串本身的內(nèi)容,另一個(gè)則是用來表示每一個(gè)對(duì)應(yīng)字符串的偏移量。我們?cè)谑謾C(jī)端中,只需要根據(jù)字符串獨(dú)立的ID在對(duì)應(yīng)的列表中找到對(duì)應(yīng)的字符偏移量,就能夠返回字符資源。第二,圖片和鈴聲的處理,相對(duì)于字符串,這兩種資源的處理方式較為簡便,同時(shí)方式上也大致相同。主要是通過在源文件上進(jìn)行文件頭的添加,這個(gè)文件頭應(yīng)該包括八個(gè)字節(jié)的信息,第一個(gè)字節(jié)表示的是資源的類型,四個(gè)字節(jié)表示文件的長度,圖片和鈴聲處理的差異表現(xiàn)在最后三個(gè)字節(jié),在對(duì)鈴聲進(jìn)行編譯的時(shí)候是采用不處理的方式,在對(duì)圖片進(jìn)行編譯的時(shí)候則是用來表示寬度和長度。

  三、效果分析

  在本文中,我們提出了一種采用重定位方式實(shí)現(xiàn)手機(jī)動(dòng)態(tài)加載的方案,通過這種方法,可以有效的改變只能通過本機(jī)增加程序進(jìn)行加載的限制,將其與高端智能手機(jī)一樣,實(shí)現(xiàn)對(duì)第三方程序的加載以及利用。從最終的完成效果看,達(dá)到預(yù)期效果。并且在現(xiàn)實(shí)生產(chǎn)中,由于系統(tǒng)的開銷較小,不會(huì)加重手機(jī)生產(chǎn)商的生產(chǎn)成本,并且作為源生程序,其運(yùn)行速度和穩(wěn)定性能都非常好。當(dāng)然,它的不足之處就在于能夠通過這種重定位實(shí)現(xiàn)動(dòng)態(tài)加載的平臺(tái)較少,只有MTK平臺(tái)能夠滿足功能需求,并且能夠應(yīng)用的軟件資源也很少,功能開發(fā)受到局限。

  參考文獻(xiàn):

  [1]王娜.2008年中國手機(jī)業(yè)特點(diǎn)與國產(chǎn)手機(jī)發(fā)展之路[J].通訊世界,2009,(1):32-33

  [2]楊偉,羅蕾.嵌入式系統(tǒng)中的模塊動(dòng)態(tài)加載技術(shù)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005,(11):8-10

  [3]齊寧,丁松陽,孫維新,等.基于加載機(jī)制分析的ELF文件main函數(shù)定位技術(shù)[J].計(jì)算機(jī)工程,2007,33(6):89-91

文章標(biāo)題:手機(jī)軟件中動(dòng)態(tài)加載方法及其應(yīng)用

轉(zhuǎn)載請(qǐng)注明來自:http://www.56st48f.cn/fblw/dianxin/dianzijishu/32191.html

相關(guān)問題解答

SCI服務(wù)

搜論文知識(shí)網(wǎng) 冀ICP備15021333號(hào)-3

主站蜘蛛池模板: 超碰在线观看97 | 婷婷色婷婷 | 欧美日韩在线精品 | 日韩精品视频在线 | 国产成都精品91一区二区三 | 午夜免费网 | 欧美性久久 | 欧美激情国产精品 | 亚洲成人一区二区三区 | 黄色片网此 | 精品日韩一区 | 免费的av | 一区二区成人在线 | av片毛片| 亚洲v区 | 亚洲电影在线播放 | 亚洲国产精久久久久久久 | 最新国产在线 | 91一区 | 日韩www | 国产一区二区三区精品久久久 | 五月激情综合 | 亚洲91精品 | 一级视频在线免费观看 | 日韩欧美在线视频观看 | 一区二区亚洲 | 国产精品高清在线 | 国产精品视频一区二区三区 | 欧美高清成人 | 91麻豆产精品久久久久久 | 日韩中文一区二区三区 | 午夜午夜精品一区二区三区文 | 欧洲视频一区 | 国产激情网站 | 国产精品成人一区二区三区夜夜夜 | 夜夜爽99久久国产综合精品女不卡 | 久久久精品 | 欧美中文一区 | 999www视频免费观看 | 亚洲36d大奶网 | 中文字幕av一区 |