]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Add a few hacks to reduce size of ICU library.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Fri, 4 Sep 2015 23:08:37 +0000 (01:08 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Fri, 4 Sep 2015 23:08:37 +0000 (01:08 +0200)
build.gradle
mksmallicu.sh [new file with mode: 0755]

index b8ce7f79b841fa7dbdef82dbbdea7ae649c1d621..5d1a114f4a56f55f11fc37bb19b1e3a3dbae0b13 100644 (file)
@@ -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 (executable)
index 0000000..62ff0e2
--- /dev/null
@@ -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