問題タブ [icu4j]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
416 参照

android - Android Studio から ICU4J ライブラリを削除する方法

Android Studio プロジェクトを作成すると、ICU4J ライブラリがプロジェクトに自動的に追加され、APK ファイルのサイズが 15 MB に増加します。このライブラリは使用していませんが、削除できません。

APK アナライザーの内部も確認できます。 APK Analyzer for ICU4J ライブラリ

プロジェクトから ICU4J ライブラリを削除する方法

0 投票する
1 に答える
476 参照

android - ライブラリで使用する場合の ICU4J からのデータ ファイルのストリッピング

さまざまな Android アプリに含まれている内部ライブラリがあります。このライブラリは ICU4J に依存しています。これは、最終的な APK に最大 10 MB を追加することを意味します。

lib は ICU4J のサブセットを使用しているため、不要なデータ ファイルをすべて削除したいと考えています。

ICUのドキュメントから:

現在、ICU4J は、データ ファイル間のこれらの依存関係を明らかにするためのツールを提供していないため、ICU4J プロジェクトでデータを直接トリミングすることは、行き当たりばったりです。データを削除する際の重要なポイントは、そのデータへの依存関係もすべて削除することです。

アプリのビルド時にデータ ファイルを削除したいと考えています。

StackOverflow に関する 1 つの質問が関連しています: aar dep から特定のリソースを除外します。残念ながら、exploded-aarディレクトリはもう存在しません。

どのステップで ICU4J 依存関係からファイルを削除できるか知っていますか? cjdict.dictファイルを削除しようとしたのは次のとおりです。

  • 質問 1: どのタスクの前に自分の を挿入する必要がありますexcludeTaskか?
  • 質問 2: どのディレクトリからファイルを削除すればよいですか?

Android 7.0 で ICU4J をこのようなオーバーヘッドなしで使用できることはわかっていますが、APK を古いデバイス用にできる限り軽量にしたいと考えています。

Proguard/縮小リソースはこれには機能しません (何かを見逃さない限り?)