基于Android系統(tǒng)的特征值定義和使用方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及Android技術(shù)領(lǐng)域,尤其涉及基于Android系統(tǒng)的特征值定義和使用方法及系統(tǒng)。
【背景技術(shù)】
[0002]Android是谷歌推出的一種智能的移動(dòng)終端操作系統(tǒng)。在Android實(shí)際開發(fā)過(guò)程中,某些功能的特征值往往會(huì)在不同的語(yǔ)言中使用,比如說(shuō),有些特征值不但會(huì)在編譯系統(tǒng)中用到,而且還會(huì)在java語(yǔ)言和C/C++語(yǔ)言中用到。由于不同語(yǔ)言中定義的變量是不能通用的,因此,在這種情況下,就需要分別在用到的語(yǔ)言中定義這個(gè)特征值,而這些特征值的含義與數(shù)值都是一樣的?,F(xiàn)有的這種方法帶來(lái)的最大問題就是后續(xù)的管理和維護(hù)上的不便,由于特征值的定義散落在各處,又毫無(wú)規(guī)則可循,就很容易引起遺漏。
[0003]因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
【發(fā)明內(nèi)容】
[0004]鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提供基于Android系統(tǒng)的特征值定義和使用方法及系統(tǒng),旨在解決現(xiàn)有的特征值定義和使用方法處理復(fù)雜、管理和維護(hù)不便的問題。
[0005]本發(fā)明的技術(shù)方案如下:
一種基于Android系統(tǒng)的特征值定義和使用方法,其中,包括步驟:
A、在特征值描述文件中按預(yù)定規(guī)則定義特征值,包括定義特征值的名稱、類型、取值以及所應(yīng)用的語(yǔ)言環(huán)境;
B、當(dāng)需使用時(shí),將特征值解析成當(dāng)前語(yǔ)言環(huán)境下可識(shí)別的中間文件,將中間文件相應(yīng)的形態(tài)加入到當(dāng)前語(yǔ)言環(huán)境中,然后在當(dāng)前語(yǔ)言環(huán)境中進(jìn)行使用。
[0006]所述的基于Android系統(tǒng)的特征值定義和使用方法,其中,所述語(yǔ)言環(huán)境包括java、本地、內(nèi)核及build。
[0007]所述的基于Android系統(tǒng)的特征值定義和使用方法,其中,所述步驟B中解析的過(guò)程具體包括:
將目標(biāo)字段中有java的所有特征值解析成java語(yǔ)言可識(shí)別的靜態(tài)常量;
將目標(biāo)字段中有本地的所有特征值解析成本地代碼編譯器可識(shí)別的參數(shù)集合文件; 將目標(biāo)字段中有內(nèi)核的所有特征值解析成內(nèi)核代碼編譯器可識(shí)別的參數(shù)集合文件; 將目標(biāo)字段有build的所有特征值解析成Android系統(tǒng)編譯器可識(shí)別的參數(shù)集合文件。
[0008]所述的基于Android系統(tǒng)的特征值定義和使用方法,其中,中間文件包括Feature, java、native, mk、kernel, mk 以及 build, mk ;
所述步驟B中中間文件加入到當(dāng)前語(yǔ)言環(huán)境具體包括:
在 framework, jar 的編譯配置文件 Android, mk 中,將 Feature, java 加入到 L0CAL_SRC_FILES 變量中;
把native, mk這個(gè)文件加入到Android編譯系統(tǒng)的build/core/binary, mk中;
把kernel, mk這個(gè)文件加入到Android編譯系統(tǒng)中的kernel編譯環(huán)境中的kernel/Makefile文件中;
把build, mk這個(gè)文件加入到Android編譯系統(tǒng)中的build/core/main, mk文件中。
[0009]所述的基于Android系統(tǒng)的特征值定義和使用方法,其中,所述步驟B中使用特征值的步驟包括:
在java語(yǔ)言中使用時(shí),將特征值作為靜態(tài)常量來(lái)使用;
在本地和內(nèi)核中使用時(shí),作為宏來(lái)使用;
在build語(yǔ)言中,將特征值作為變量來(lái)使用。
[0010]一種基于Android系統(tǒng)的特征值定義和使用系統(tǒng),其中,包括:
定義模塊,用于在特征值描述文件中按預(yù)定規(guī)則定義特征值,包括定義特征值的名稱、類型、取值以及所應(yīng)用的語(yǔ)言環(huán)境;
使用模塊,用于當(dāng)需使用時(shí),將特征值解析成當(dāng)前語(yǔ)言環(huán)境下可識(shí)別的中間文件,將中間文件相應(yīng)的形態(tài)加入到當(dāng)前語(yǔ)言環(huán)境中,然后在當(dāng)前語(yǔ)言環(huán)境中進(jìn)行使用。
[0011]所述的基于Android系統(tǒng)的特征值定義和使用系統(tǒng),其中,所述語(yǔ)言環(huán)境包括java、本地、內(nèi)核及build。
[0012]所述的基于Android系統(tǒng)的特征值定義和使用系統(tǒng),其中,所述使用模塊用于:
將目標(biāo)字段中有java的所有特征值解析成java語(yǔ)言可識(shí)別的靜態(tài)常量;
將目標(biāo)字段中有本地的所有特征值解析成本地代碼編譯器可識(shí)別的參數(shù)集合文件; 將目標(biāo)字段中有內(nèi)核的所有特征值解析成內(nèi)核代碼編譯器可識(shí)別的參數(shù)集合文件; 將目標(biāo)字段有build的所有特征值解析成Android系統(tǒng)編譯器可識(shí)別的參數(shù)集合文件。
[0013]所述的基于Android系統(tǒng)的特征值定義和使用系統(tǒng),其中,中間文件包括Feature, java、native, mk、kernel, mk 以及 build, mk ;
所述使用模塊還用于:
在 framework, jar 的編譯配置文件 Android, mk 中,將 Feature, java 加入到 L0CAL_SRC_FILES 變量中;
把native, mk這個(gè)文件加入到Android編譯系統(tǒng)的build/core/binary, mk中;
把kernel, mk這個(gè)文件加入到Android編譯系統(tǒng)中的kernel編譯環(huán)境中的kernel/Makefile文件中;
把build, mk這個(gè)文件加入到Android編譯系統(tǒng)中的build/core/main, mk文件中。
[0014]所述的基于Android系統(tǒng)的特征值定義和使用系統(tǒng),其中,所述使用模塊用于:
在java語(yǔ)言中使用時(shí),將特征值作為靜態(tài)常量來(lái)使用;
在本地和內(nèi)核中使用時(shí),作為宏來(lái)使用;
在build語(yǔ)言中,將特征值作為變量來(lái)使用。
[0015]有益效果:本發(fā)明在特征值描述文件中定義特征值,然后在Android的編譯階段,用工具或腳本自動(dòng)的把這些特征值轉(zhuǎn)化成目標(biāo)語(yǔ)言可以識(shí)別的中間文件,并把這些中間文件加入到目標(biāo)代碼會(huì)用到的作用域中去,從而實(shí)現(xiàn)一處定義即可在多種語(yǔ)言中使用的目的,對(duì)于開發(fā)者而言,無(wú)需再關(guān)注不同語(yǔ)言下的特征值定義,只需統(tǒng)一在特征值描述文件中描述特征值,這對(duì)于開發(fā)或者后續(xù)的維護(hù)來(lái)說(shuō)都非常方便。
【附圖說(shuō)明】
[0016]圖1為本發(fā)明基于Android系統(tǒng)的特征值定義和使用方法較佳實(shí)施例的流程圖。
[0017]圖2為本發(fā)明中特征值描述文件示例的格式示意圖。
[0018]圖3為圖2的特征值描述文件解析得到的Feature, java文件的格式示意圖。
[0019]圖4為圖2的特征值描述文件解析得到的native, mk文件的格式示意圖。
[0020]圖5為圖2的特征值描述文件解析得到的kernel, mk文件的格式示意圖。
[0021]圖6為圖2的特征值描述文件解析得到的build, mk文件的格式示意圖。
[0022]圖7為本發(fā)明基于Android系統(tǒng)的特征值定義和使用方法的架構(gòu)圖。
[0023]圖8為圖2的特征值描述文件在使用時(shí)作為宏來(lái)使用時(shí)的格式示意圖。
[0024]圖9為本發(fā)明基于Android系統(tǒng)的特征值定義和使用系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0025]本發(fā)明提供基于Android系統(tǒng)的特征值定義和使用方法及系統(tǒng),為使本發(fā)明的目的、技術(shù)方案及效果更加清楚、明確,以下對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0026]請(qǐng)參閱圖1,圖1為本發(fā)明一種基于Android系統(tǒng)的特征值定義和使用方法較佳實(shí)施例的流程圖,如圖所示,其包括步驟:
5101、在特征值描述文件中按預(yù)定規(guī)則定義特征值,包括定義特征值的名稱、類型、取值以及所應(yīng)用的語(yǔ)言環(huán)境;
5102、當(dāng)需使用時(shí),將特征值解析成當(dāng)前語(yǔ)言環(huán)境下可識(shí)別的中間文件,將中間文件相應(yīng)的形態(tài)加入到當(dāng)前語(yǔ)言環(huán)境中,然后在當(dāng)前語(yǔ)言環(huán)境中進(jìn)行使用。
[0027]在本實(shí)施例中,首先在特征值描述文件中描述特征值,主要包括特征值的名稱、類型、取值以及所應(yīng)用的語(yǔ)言環(huán)境。其是以文件描述的方式定義在單獨(dú)的特征值描述文件feature, ini 中,其中:
1)、特征值的名稱:將在不同語(yǔ)言環(huán)境中使用的變量名;
2)、特征值類型:將在不同語(yǔ)言環(huán)境中使用的變量類型,支持?jǐn)?shù)值