如何編譯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
可能是環境變數沒有配置好,請使用絕對路徑,而不是相對路徑。
如何編譯ICU資源
如何編譯icu資源 如果只是測試修改後效果,執行步驟a即可 如果需要build後生效,則需要執行全部步驟 a.在臨時目錄中編譯icu資源 1.在external icu4c下新建臨時目錄icubuild,進入icubuild目錄 mkdir external icu4c icubuild cd ex...
ICU 2 3 如何在2 3中編譯ICU資源
android 2.3如何編譯icu資源 如果只是測試修改後效果,執行步驟a即可 如果需要build後生效,則需要執行全部步驟 a.在臨時目錄中編譯icu資源 1.在external icu4c下新建臨時目錄icubuild,進入icubuild目錄 mkdir external icu4c icu...
編譯android原始碼中的icu4c
在external icu4c studata readme.txt,裡面有修改icu4c中資源的編譯方法 具體步驟 可複製下面命令,直接執行 1 新增或者修改external icu4c data目錄下的資源 2 建立乙個臨時目錄 croot rm external icu4c stubdata ...