From 1a6c9deddceba96e4e87992e056ae75fb9d64081 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Sat, 5 Sep 2015 01:08:37 +0200 Subject: [PATCH] Add a few hacks to reduce size of ICU library. --- build.gradle | 17 ++++++++++++++++- mksmallicu.sh | 10 ++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100755 mksmallicu.sh diff --git a/build.gradle b/build.gradle index b8ce7f7..5d1a114 100644 --- a/build.gradle +++ b/build.gradle @@ -12,9 +12,24 @@ apply plugin: 'com.android.application' repositories { jcenter() } +configurations { + smallicu +} dependencies { compile 'com.android.support:appcompat-v7:21.0.3' - compile 'com.ibm.icu:icu4j:55.1' + // Note: you can just replace "smallicu" by compile + // and remove the "compile files" part if you do not + // care about the size of the apk + smallicu 'com.ibm.icu:icu4j:55.1' + compile files('build/icu4j-55.1.small.jar') { + builtBy 'makesmallicu' + } +} + +task makesmallicu (dependsOn: configurations.smallicu) << { + exec { + commandLine "./mksmallicu.sh", "${configurations.smallicu.resolve()[0]}", "build/icu4j-55.1.small.jar" + } } android { diff --git a/mksmallicu.sh b/mksmallicu.sh new file mode 100755 index 0000000..62ff0e2 --- /dev/null +++ b/mksmallicu.sh @@ -0,0 +1,10 @@ +#!/bin/sh +DST="$2" +cp $1 "$DST" +zip -ws -d "$DST" com/ibm/icu/impl/data/icudt55b/*.res com/ibm/icu/impl/data/icudt55b/*.spp com/ibm/icu/impl/data/icudt55b/unames.icu +zip -d "$DST" com/ibm/icu/impl/data/icudt55b/brkitr/* com/ibm/icu/impl/data/icudt55b/curr/* com/ibm/icu/impl/data/icudt55b/lang/* com/ibm/icu/impl/data/icudt55b/rbnf/* com/ibm/icu/impl/data/icudt55b/region/* com/ibm/icu/impl/data/icudt55b/unit/* com/ibm/icu/impl/data/icudt55b/zone/* +zip -d "$DST" com/ibm/icu/impl/data/Holiday*.class +zip -d "$DST" com/ibm/icu/impl/duration/* +zip -d "$DST" com/ibm/icu/impl/ICULangDataTables*.class com/ibm/icu/impl/ICURegionDataTables*.class com/ibm/icu/impl/*Currency*.class com/ibm/icu/impl/TrieIter*.class com/ibm/icu/impl/*Format.class com/ibm/icu/impl/*TimeZone*.class com/ibm/icu/impl/*ZoneMeta*.class com/ibm/icu/impl/LocaleDisplay*.class com/ibm/icu/impl/RelativeDate*.class +zip -d "$DST" com/ibm/icu/text/CompactDecimalDataCache*.class com/ibm/icu/text/*Currency*.class com/ibm/icu/text/Date*.class com/ibm/icu/text/*Format*.class com/ibm/icu/text/*TimeZone*.class com/ibm/icu/text/NF*.class com/ibm/icu/text/RBNF*.class com/ibm/icu/text/*Substitution*.class +zip -d "$DST" com/ibm/icu/util/*Currency*.class com/ibm/icu/util/GlobalizationPreferences*.class com/ibm/icu/util/*Calendar*.class com/ibm/icu/util/EasterRule*.class com/ibm/icu/util/*DateRule*.class com/ibm/icu/util/*Holiday*.class com/ibm/icu/util/*Time*.class com/ibm/icu/util/Range.class com/ibm/icu/util/STZInfo*.class com/ibm/icu/util/Measure*.class -- 2.43.0