Cómo usar icu en Android
Si solo prueba el efecto de la modificación, simplemente realice el paso A; si necesita compilarlo para que surta efecto, debe realizar todos los pasos
A. en el directorio temporal
1. Cree un nuevo directorio temporal icubuild en external/icu4c e ingrese el directorio icubuild
$mkdir external/icu4c/icuBuild
$ cd external/icu4c/icuBuild
2. Ejecute el comando icuConfigureRun Linux para generar el archivo make
$.././runConfigureICU Linux
3. el comando make -j2,
$make -j2
Para la versión GB, si make -j2 comete un error, es necesario reemplazarlo con el archivo (Android 2.3 make- j2 ERROE.rar) proporcionado por mtk (es necesario hacer una copia de seguridad del archivo original).
4. Envíe el archivo externo/icu4c/icuBuild/data/out/tmp/icudt44l.dat al teléfono móvil para probarlo
$adb remount
$adb push external/icu4c/icuBuild/data/out/tmp/icudt44l.dat system/usr/icu/
$adb reboot
ICS corresponde a icudt46l.dat, p >
JB y versiones posteriores son icudt48l.dat
B. COPIAR archivos requeridos
1 Copie el externalicu4cicubuilddataout mpicudt44l.dat generado en el primer paso a externalicu4cstubdata y cámbiele el nombre. Para icudt44l-all.dat, sobrescriba el archivo original con el mismo nombre.
2. Para la versión GB, copie la ruta de la carpeta prebuildlinux-x86icu-4.4 del proyecto ICS y colóquela en la ruta correspondiente.
Las versiones de ICS son icudt46l.dat e icudt46l. -all .dat
JB y superiores son icudt48l.dat y icudt48l-all.dat
Configurar variables de entorno
Reconfigurar variables de entorno (si no están configuradas). correctamente provocará un error al ejecutar el script). Tomando mi sistema como ejemplo, el proceso de configuración es el siguiente:
1. Ingrese al directorio /proj/mtk71491/Desktop/GB/alps en la terminal:
$cd / proj/mtk71491 /Desktop/GB/alps
2 Luego ejecute el script (equivalente a ./ build/envsetup.sh):
$source build/envsetup.sh
3. Configure las variables de entorno (tenga en cuenta que no debe haber espacios antes y después de "=").
$export ANDROID_EABI_TOOLCHAIN=/proj/mtk71491/Desktop/GB/alps/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/ (JB2 y superiores no realizan este paso)
$export LD_LIBRARY_PATH=/proj/mtk71491/Desktop/GB/alps/prebuilt/linux-x86/icu-4.4/ (JB y superiores omiten este paso)
$export ANDROID_BUILD_TOP =/proj/mtk71491/Desktop/GB/alps/
No aparece ningún mensaje después de la ejecución, lo que indica que la configuración se realizó correctamente.
D. Ejecute el script y regenere el archivo .dat
Ejecute el script en indonesio, reemplácelo con el script (icu_dat_generator.rar) proporcionado por. MTK y luego ejecútelo como se muestra a continuación:
1. Ingrese al directorio /proj/mtk71491/Desktop/GB/alps/external/icu4c/studdata
$cd external/icu4c. /studdata
2. Ejecute el script
$./icu_dat_generator.py 4.4 (ICS y versiones posteriores ejecutan $./icu_dat_generator.py)
Si el El script se ejecuta correctamente, se actualizará. Para los archivos icudt44l-**.dat en stubdata, si ve que la hora de modificación de estos archivos ha cambiado a la última hora, significa que el archivo icudt44l-large.dat que realmente trabajado el último se ha regenerado.
La versión ICS es icudt46l-default.dat
JB y superior es icudt48l-default.dat
Recompile el proyecto
. Generalmente, después de la modificación, el proyecto se vuelve a compilar para probar el efecto. Simplemente use el comando remake de Android.
Si ejecuta ./icu_dat_generator.py, se informará el siguiente error
<. p>Rastreo (última llamada más reciente):Archivo ./icu_dat_generator.py, línea 296, en
main()
Archivo ./icu_dat_generator. py, línea 261, en principal
icu_version = re.sub(r([^0-9]), , os.path.basename(input_files[0]))
IndexError: índice de lista fuera de rango
Es posible que las variables de entorno no estén configuradas correctamente. Utilice rutas absolutas en lugar de rutas relativas.