|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| android_icu4c/ | | 04-Jul-2025 | - | 74 | 46 |
| android_icu4j/ | | 04-Jul-2025 | - | 1,297,512 | 1,074,105 |
| build/ | | 04-Jul-2025 | - | 97 | 73 |
| icu4c/ | | 04-Jul-2025 | - | 5,273,990 | 4,849,129 |
| icu4j/ | | 04-Jul-2025 | - | 1,912,454 | 1,637,889 |
| libandroidicu/ | | 04-Jul-2025 | - | 56,913 | 14,007 |
| libandroidicuinit/ | | 04-Jul-2025 | - | 655 | 398 |
| libicu/ | | 04-Jul-2025 | - | 228,228 | 71,887 |
| tools/ | | 04-Jul-2025 | - | 33,246 | 22,477 |
| Android.bp | D | 04-Jul-2025 | 3.4 KiB | 113 | 106 |
| CleanSpec.mk | D | 04-Jul-2025 | 3 KiB | 64 | 4 |
| LICENSE | D | 04-Jul-2025 | 35.8 KiB | 718 | 622 |
| METADATA | D | 04-Jul-2025 | 324 | 18 | 16 |
| MODULE_LICENSE_BSD_LIKE | D | 04-Jul-2025 | 0 | | |
| OWNERS | D | 04-Jul-2025 | 504 | 16 | 12 |
| PREUPLOAD.cfg | D | 04-Jul-2025 | 42 | 4 | 3 |
| README-ravenwood.md | D | 04-Jul-2025 | 1.2 KiB | 32 | 22 |
| README.android | D | 04-Jul-2025 | 1.3 KiB | 35 | 23 |
| TEST_MAPPING | D | 04-Jul-2025 | 220 | 17 | 16 |
| icu.aconfig | D | 04-Jul-2025 | 1.5 KiB | 47 | 42 |
| icu_version_upgrade.md | D | 04-Jul-2025 | 15.6 KiB | 434 | 361 |
README-ravenwood.md
1# ICU on Ravenwood
2
3# What APIs are enabled
4As of 2024-06-19, Ravenwood uses the host side JVM, not ART, so it doesn't use `libcore` either.
5
6To support ICU on Ravenwood, we include the following jar files in the
7Ravenwood classpath.
8- `core-icu4j-for-host.ravenwood`
9- `icu4j-icudata-jarjar`
10- `icu4j-icutzdata-jarjar`
11
12`core-icu4j-for-host.ravenwood` is made from `core-icu4j-for-host.ravenwood`
13with `hoststubgen` to make the following modifications.
14- Enable `android.icu` APIs on Ravenwood.
15- But all other APIs -- i.e. all `libcore_bridge` APIS -- will throw at runtime.
16
17This "policy" is defined in android_icu4j/icu-ravenwood-policies.txt.
18
19As a result, on Ravenwood, all `android.icu` APIs will work, but none of the `libcore_bridge` APIs.
20
21# CTS
22
23ICU's CTS is `CtsIcuTestCases`, which contains the tests under
24android_icu4j/src/main/tests/, which are the tests from the upstream ICU, and
25android_icu4j/testing/, which are android specific tests, which depends
26on `libcore_bridge`.
27
28On Ravenwood, android_icu4j/src/main/tests/ will pass, but not android_icu4j/testing/.
29
30So we have `CtsIcuTestCasesRavenwood-core-only`, which only contains the
31tests from the upstream. You can run this with `atest CtsIcuTestCasesRavenwood-core-only`.
32
README.android
1This repo contains Android's copy of ICU4C and ICU4J and associated tools and code.
2
3Directories
4===========
5
6ICU4J
7-----
8
9icu4j/ - ICU4J with Google and Android-specific patches applied.
10 After patching this make sure to run the following to update
11 the repackaged version used in Android and CTS tests.
12 tools/srcgen/generate_android_icu4j.sh
13
14android_icu4j/ - This is the copy of ICU4J used in the Android platform.
15 IMPORTANT NOTE: Do not make changes to this code directly,
16 except where noted in android_icu4j/README.android. See
17 tools/README.android for how to generate it.
18
19ICU4C
20-----
21
22icu4c/ - ICU4C with Google and Android-specific patches applied.
23
24android_icu4c/ - Configuration code used when building ICU4C on Android.
25
26libandroidicu/ - The subset of ICU4C exposed to framework code and other
27 components outside of the mainline module that contains ICU.
28
29libandroidicuinit/ - A static library for ICU4C initialization. Used by
30 libandroidicu and libjavacore to initialize ICU4C.
31
32tools/ - Code / data maintenance tools. See tools/README.android.
33
34libicu/ - NDK headers and the shim implementation in the libicu.so.
35