導航:首頁 > 操作系統 > androidicu4c

androidicu4c

發布時間:2023-06-09 16:09:44

android 怎麼使用icu

如果只是測試修改後效果,執行步驟A即可;如果需要build後生效,則需要執行全部步驟
A. 在臨時目錄中編譯ICU資源
1. 在external/icu4c下新建臨時目錄icubuild,進入icubuild目錄
$mkdir external/icu4c/icuBuild
$cd external/icu4c/icuBuild
2. 執行icuConfigureRun linux命令,生成make文件
$.././runConfigureICU Linux
3. 執行make -j2命令,
$make -j2
對於GB版本,如果make -j2出錯,需要用mtk提供的文件(Android 2.3 make-j2 ERROE.rar)替換(需要備份原文件)。
4. 將生成的external/icu4c/icuBuild/data/out/tmp/icudt44l.dat push到手機測試
$adb remount
$adb push external/icu4c/icuBuild/data/out/tmp/icudt44l.dat system/usr/icu/
$adb reboot
ICS對應的是icudt46l.dat,
JB以及以後版本是icudt48l.dat
B. COPY所需文件
1、將第一步生成的externalicu4cicubuilddataout mpicudt44l.dat復制到externalicu4cstubdata下並改名為icudt44l-all.dat,覆蓋原來的同名文件。
2、對於GB版本,從ICS工程上拷貝路徑prebuildlinux-x86icu-4.4文件夾,放到相應的路徑下
ICS版本是icudt46l.dat和icudt46l-all.dat
JB及以上是icudt48l.dat和icudt48l-all.dat
C. 配置環境變數
重新配置環境變數(如果不配置正確會導致執行腳本出錯)。以我的系統為例,配置過程如下:
1. 在終端中進入/proj/mtk71491/Desktop/GB/alps目錄即:
$cd /proj/mtk71491/Desktop/GB/alps
2. 然後執行腳本(等價於./ build/envsetup.sh):
$source build/envsetup.sh
3. 配置環境變數(注意「=」前後不要有空格)。
$export ANDROID_EABI_TOOLCHAIN=/proj/mtk71491/Desktop/GB/alps/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/(JB2以及以上不執行此步驟)
$export LD_LIBRARY_PATH=/proj/mtk71491/Desktop/GB/alps/prebuilt/linux-x86/icu-4.4/(JB以及上以跳過這一步)
$export ANDROID_BUILD_TOP=/proj/mtk71491/Desktop/GB/alps/
執行完沒有任何提示說明配置成功。
D. 執行腳本,重新生成.dat文件
執行腳本,如果遇到文檔印尼語錯誤請用MTK提供的腳本(icu_dat_generator.rar)替換後再執行,如下所示:
1. 進入/proj/mtk71491/Desktop/GB/alps/external/icu4c/studdata目錄
$cd external/icu4c/studdata
2. 執行腳本
$./icu_dat_generator.py 4.4 (ICS及以後版本執行$./icu_dat_generator.py)
如果該腳本執行成功,則會更新一遍stubdata下的icudt44l-**.dat這些文件,如果看到這些文件的修改時間變成了最新的時間,就說明已經重新生成真正最後起 作用的是icudt44l-large.dat這個文件。
ICS版是icudt46l-default.dat
JB以及以上是icudt48l-default.dat
E. 重新編譯工程
一般修改後都是重新編譯工程來測試效果,使用remake android命令即可.
F. 如果執行./icu_dat_generator.py報以下錯誤
Traceback (most recent call last):
File ./icu_dat_generator.py, line 296, in
main()
File ./icu_dat_generator.py, line 261, in main
icu_version = re.sub(r([^0-9]), , os.path.basename(input_files[0]))
IndexError: list index out of range
可能是環境變數沒有配置好,請使用絕對路徑,而不是相對路徑。

Ⅱ Android中的多國語言是怎麼實現的

雖然Android 從 2.3 開始已經支持50種以上的語言,但是不是每種語言都有字體可以顯示。遇到一個新需求,
有客戶要求對 hindi 語言的支持。於是上 網找了一些資料,發現網上介紹的大部分是如何替換默認字體,就
是替換./frameworks/base/data/fonts /DroidSansFallback.ttf,但是替換完之後,中文就無法正常顯示。其實
只要有下面幾個步驟,就可以實現新曾加一種語言的顯示支持:
1. 需要有可以顯示 hindi 語言的字體,我在網上下載了一個:DroidHindi.ttf
2. 需要修改的地方主要有
1) 將下載的字體文件拷貝到:./frameworks/base/data/fonts/
2) 修改./frameworks/base/data/fonts/Android.mk,將 DroidHindi.ttf 添加到 _from:

3) Hindi 的語言代碼是 hi_IN,修改./device/qcom/common/common.mk,將 hindi 的語言代碼加進去,
這樣在你的設置->語言和鍵盤->選擇語言裡面就可以看見 hindi 語言了:

4) 修改./external/skia/src/ports/SkFontHost_android.cpp,將 DroidHindi.ttf 加進去。網上 介紹的很多
方法都沒有提到這一步,如果沒有這一步的話,添加的語言是不生效的,顯示的是亂碼,因為 android 無法
找到 hindi 語言可以顯示的字體, 還是會選擇默認字體去顯示。修改的地方為:

5) 去./build/target/proct/full.mk 看看系統選擇的是哪個語言列表,我的是:
$(call inherit-proct, build/target/proct/languages_small.mk)
那我就去修改./build/target/proct/languages_small.mk,若這里顯示的是 languages_full.mk,那麼
就修改./build/target/proct/languages_full.mk 文件,修改如下:
PRODUCT_LOCALES := en_US en_GB fr_FR hi_IN it_IT de_DE es_ES
6)在 external/icu4c/studata 下的 Android.mk 下添加
$(if $(findingstringhi,$(PRODUCT_LOCALS)),large)\
3. 剩下的就是重新編譯一下,然後 flash 到手機或模擬器上就可以了。

Ⅲ 安卓手機如何添加多國語言

添加方法是有的,網上可以找到很多。不過很麻煩,以下以添加波斯語為例給你簡單的說下:

1、在sdkDemo.mk 中添加語言和國家的國際化的縮寫代碼,如伊朗:IR表示,波斯語用fa表示,這是國際化的標准,不可以隨便寫的。如果不知道國家與地區的縮寫,可以去網上找找。
PRODUCT_LOCALES:= fa_IR en_US zh_CN en_GB fr_FR it_IT es_ES ……..
sdkDemo.mk的路徑為:gingerbread\device\rockchip\sdkDemo\sdkDemo.mk.
2、在framework/base/data/font目錄下添加波斯語的字型檔,如DroidSansArabic.ttf
3、字型檔加完後,就要去調用字型檔了,調用字型檔的文件是在external/skia/src/ports/SKFontHost-android.app下,
static constFontInitRec gSystemFonts[] = {
{ "DroidSans.ttf", gSansNames },
………
{
"DroidSansArabic.ttf",
gFBNames },
4、字型檔准備好了,還有一些makefile需要修改了。在external/icu4c/studata/ Android.mk下:
config := $(word1, \
$(if $(findstringar,$(PRODUCT_LOCALES)),large) \

$(if
$(findstring fa,$(PRODUCT_LOCALES)),large) \
5、 在frameworks/base/core/res/res/下新增加一個values-fa-rIR的文件夾,並新建一個strings.xml文件。
6、上面五步加完後,在settingsàLanguage&keyboardàSelect language列表下就會出現波斯語這個選項了,但是選了波斯語後,並沒有出現波斯語文字。這時就需要在相應的APP下的res/下新建values-fa-rIR的文件夾,並翻譯strings.xml文件即可。如主app的strings.xml路徑為:gingerbread\packages\apps\Desktop2D_mbx_new\res\values-fa-rIR\strings.xml

最後,以上所有內容都加好後,一定要記得:
Make clean
Make prebuild
Make

建議你還是刷新ROM來解決吧!

Ⅳ android如何添加一種新語言

下面講講新增加一種語言的步驟:
1. 在sdkDemo.mk 中添加語言和國家的國際化的縮寫代碼,如伊朗:IR表示,波斯語用fa表示,這是國際化的標准,不可以隨便寫的。如果不知道國家與地區的縮寫,可以去網上找找。
sdkDemo.mk的路徑為:gingerbread\device\rockchip\sdkDemo\sdkDemo.mk.
2. 在framework/base/data/font目錄下添加波斯語的字型檔,如DroidSansArabic.ttf
3. 字型檔加完後,就要去調用字型檔了,調用字型檔的文件是在external/skia/src/ports/SKFontHost-android.app下,
static const FontInitRec gSystemFonts[] = {
{ DroidSans.ttf, gSansNames },
………{ DroidSansArabic.ttf, gFBNames },
4. 字型檔准備好了,還有一些makefile需要修改了。在external/icu4c/studata/ Android.mk下:
config := $(word 1, \
$(if $(findstring ar,$(PRODUCT_LOCALES)),large) \
$(if $(findstring fa,$(PRODUCT_LOCALES)),large) \
5. 在frameworks/base/core/res/res/下新增加一個values-fa-rIR的文件夾,並新建一個strings.xml文件。

閱讀全文

與androidicu4c相關的資料

熱點內容
蘋果app怎麼掃描二維碼下載 瀏覽:957
css文件在線解壓 瀏覽:152
36歲程序員近況 瀏覽:283
哪裡可以下載不加密的歌 瀏覽:934
隱藏文件夾是什麼梗 瀏覽:918
插件注冊命令 瀏覽:497
梁一端加密一端不加密規范 瀏覽:82
代碼行數統計命令 瀏覽:104
單片機中2K表示什麼 瀏覽:482
紫禁城為什麼會斷開伺服器 瀏覽:580
華為手機的方舟編譯器在哪呢 瀏覽:123
下載壓縮虐殺原形2 瀏覽:905
linux腳本cd 瀏覽:167
間架結構pdf 瀏覽:843
重慶農村商業銀行app怎麼老出問題 瀏覽:471
慧編程配置要求 瀏覽:673
數控機床編程與操作視頻 瀏覽:461
文件夾資料誤刪怎麼辦 瀏覽:87
手機app怎麼下載安裝 瀏覽:494
最新的java版本 瀏覽:995