ICU 2 3 如何在2 3中編譯ICU資源

2021-07-13 19:41:37 字數 2862 閱讀 1740

android 2.3如何編譯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出錯,請用附件中提供的對應檔案(android 2.3

make-j2 erroe.rar解壓後得到)替換(需要備份原檔案)

$make -j2

4. 將生成的external/icu4c/icubuild/data/out/tmp/icudt44l.dat push到手機測試

$adb remount

$adb push data/out/tmp/icudt44l.dat system/usr/icu/

$adb reboot

b. copy所需檔案

1. 將第一步生成的external/icu4c/icubuild/data/out/tmp/icudt44l.dat複製到

external/icu4c/stubdata下並改名為icudt44l-all.dat,覆蓋原來的同名檔案

2. 從ics工程上拷貝路徑prebuild\linux-x86\icu-4.4資料夾,放到相應的路徑下

c. 配置環境變數

重新配置環境變數(如果不配置正確會導致執行指令碼出錯)。以我的系統為例,工程目錄為

/proj/mtk71491/desktop/gb,配置過程如下:

1. 在終端中進入/proj/mtk71491/desktop/gb/alps目錄即:

$cd /proj/mtk71491/desktop/gb/alps

2. 然後執行envsetup.sh指令碼(等價於./ build/envsetup.sh):

$source build/envsetup.sh

3. 配置環境變數(注意「=」前後不要有空格),執行完沒有任何提示說明配置成功。

$export

android_eabi_toolchain=/proj/mtk71491/desktop/gb/alps/prebuilt/linuxx86/

toolchain/arm-eabi-4.4.3/bin/

$export ld_library_path=/proj/mtk71491/desktop/gb/alps/prebuilt/linuxx86/

icu-4.4/

$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

如果該指令碼執行成功,則會更新一遍stubdata下的icudt44l-**.dat這些檔案,如果看到這些文

件的修改時間變成了最新的時間,就說明已經重新生成,真正最後起作用的是icudt44llarge.

dat這個檔案。

e. 重新編譯工程

一般修改後都是重新編譯工程來測試效果,使用 remake android 命令即可.

f. 編譯過程常見的問題

(1)、執行指令碼$./icu_dat_generator.py 4.4過程中出現如下錯誤。

icupkg: unable to open input file

"/media/android/mtk_compile/15_separate/alps/external/icu4c/tmp/coll/my.res">

原因:修改了icudt44l-large.txt配置檔案,而沒有在對應的檔案下加入icu資源。如在配置檔案新

增coll/my.res,但在external\icu4c\data\coll下沒新增my.txt檔案。

(2)、執行指令碼$./icu_dat_generator.py 4.4過程中出現如下錯誤。

item coll/in.res depends on missing item coll/id.res

item coll/in_id.res depends on missing item coll/id_id.res

item curr/in.res depends on missing item curr/id.res

item curr/in_id.res depends on missing item curr/id_id.res

item in.res depends on missing item id.res

原因:icu_dat_generator.py指令碼無法處理一些比較特殊的icu資源,更換新的指令碼就行(可參考添

加文件)。

(3)、執行指令碼$./icu_dat_generator.py 4.4過程中出現如下錯誤。是環境變數沒有配置或者配置失敗。

儲存到相簿

2016-5-6 10:21 上傳

2 3如何編譯W800 SDK程式並燒錄執行

開啟 cds workbench,匯入工程sdk,project explorer 區域,右鍵 import 選擇 existing csky projects into workspace,然 後點選 next。點選右側 browse 指定 w800 sdk 的工程路徑。路徑選擇後,sdk 工程會...

aria 例子如何在ubuntu中編譯

g c 編譯器 g debug 模式,只是編譯器,在編譯的時候,產生除錯資訊 wall 允許發出gcc能夠提供的所有有用的警告。也可以用 w來標記指定的警告。d 相當於c語言中的 define macro d reentrant reentrant巨集,請參考 o 制定目標名稱,預設的時候,gcc ...

如何在你的軟體中實時編譯並執行C C 源程式

如何在你的軟體中實時編譯並執行c c 源程式 當人們發布乙個軟體時,往往需要提供一些外掛程式介面給oem進行二次開發,同時提供若干dll庫或com元件給使用者呼叫.在本人看來這些方法能解決一些問題,但不夠靈活,具有很多缺陷與限制.這裡我給讀者提供乙個方法 直接執行c c 源程式 執行c c 源程式的...