2016-11-07 6 views
0

私はNotificationCompatでNotificationsを作成するためにのみ使っていますが、アンドロイドサポートライブラリappcompat v4は最終的なapkで約1Moを取ることがわかりました。AppCompat v4の軽いバージョンでNotificationCompatのみを使用する

私はライブラリの.jarを使用します。

.jarファイルではなく、ソースコードをプロジェクトに組み込むと、ソースコードが利用可能になるので(https://github.com/android/platform_frameworks_support/tree/master/v4/java/android/support/v4)、それは役に立ちますか?したがって、コンパイラは必要なファイルだけをインクルードします。

これを行うことは悪い習慣ですか?

+1

あなたの 'release'ビルドでProGuardを有効にすることに焦点を当てるべきです。 "私はライブラリの.jarを使用します" - AFAIK、 'support-v4'サブアーティファクトはどれもJARとして配布されません。 – CommonsWare

+0

ああ私はそれが何であるか分かりません。 (まあ私はもちろんgoogleです。);) - まあ。私は、覚えていれば、コードテンプレートに含まれていた.jarライブラリを持っています。 –

+0

https://developer.android.com/studio/build/shrink-code.html – CommonsWare

答えて

0

私のアプリケーションで私はあなたと同じ問題を抱えています:巨大なjarファイルは、ただ一つのクラスを使用することです。私はLocalBroadcastManagerのソースを自分のアプリケーションにコピーし、すべて正常に動作しました。

+0

ええ、私はそうしたいと思っていましたが、多くの依存関係があります(たとえば、NotificationCompatもライブラリに定義されているビューやその他のクラスをインポートします)それで、それは対応するファイルをコピーするほど簡単ではありません。どのようにしましたか?あなたのコードはライブラリから他のクラスをたくさんインポートしていませんでしたか? –

+0

実際にインポートするのではなく、使用します。 –