2015-11-13 4 views
8

にインポートする方法はありますか?どのAndroid開発者も知っているはずですが、apkのメソッド制限は65kです。あなた自身が手を差し伸べるのはかなり難しいでしょうが、いくつかのライブラリを追加し始めるとすぐに簡単です。**どのように**グアバライブラリのいくつかの部分をAndroidアプリ(グラデル)

去年から、Android 5.0以上でMultiDexを有効にして(以前のAndroidバージョン用のサポートライブラリを追加することで)これを取り除くことができます。これが可能なときでも、メソッドの数を減らし、より小さなAPIを得る方が良い(そして、パフォーマンスは良くなるはずですね。)

ある時点で、Google Playサービスライブラリのサイズが手に取れない(20k方法)と認識し、を別のモジュールに分割して、必要な部分を簡単に追加することができました(グレード)のように:それはグアバライブラリでそのような何かを行うことが可能である場合

compile ('com.google.android.gms:play-services-analytics:8.1.0') 
compile('com.google.android.gms:play-services-appindexing:8.1.0') 

あなたは知っていますか?それは約15Kのメソッドなので、本当に役に立ちます。私はGuavaのほんの一部を使いたいので、もう片方を含める必要はありません。私はドキュメンテーションとグーグルを見てきましたが、何も見つかりませんでした。

compile group: 'com.google.guava', name: 'guava', version: '18.0' 

いくつかの男は、おそらくJavaプロジェクトのために、2年前に似た何かを尋ねたが、その後小さなグアバ部品は存在しませんでした。 Downloading part of guava-libraries

唯一のことは、ライブラリをロードする代わりに、必要なGuavaクラスをコピーすることですが、私はひどい解決策だと思います。

Play Servicesと同じように、大きなライブラリでモジュール分割システムを使用する必要はありませんか?

EDIT:さらに、マルチディクスタスクは時間がかかりすぎる(15秒未満の前に1分半)ので、アプリを起動するたびに待つ必要があります。 Proguardをプロダクションリリースのための優れたソリューションとして使用しても、マルチディクスよりも時間がかかるため、開発には適していません。

+5

Guavaの開発者はこの問題を認識しており[ProGuardを使用してMavenソリューションを提供しています](https://github.com/google/guava/wiki/UsingProGuardWithGuava)。私はそれをGradleと統合する方法を知らない。 –

+0

残念ながら、Guavaはまだモジュール化されていません。私たちがしているのは、2つのビルドの味があるということです。プロガードを使用して1つのリリース。 – rds

答えて

関連する問題