2016-11-30 15 views
2

パッケージをAndroid Gradleの依存関係から除外することはできますか?そうすれば、APK内には終わりませんか?Gradle:依存パッケージを除外

dependencies { 

    compile('com.facebook.android:facebook-android-sdk:4.17.0') { 
     exclude package 'com.facebook.share' 
    } 
} 

が、その後別の、 "パッケージ" が有効なコマンドではありませんので。このように、uはライブラリからいくつかのパッケージを除外することができ

+0

独自のAPKまたはモジュールのパッケージを依存関係から削除しますか?依存関係からのパッケージ – AndiGeeky

+0

。 facebookのlibの例にはたくさんのcom.facebook.XXXパッケージがありますが、そのうちの1つを含めたくありません。質問の例を更新しました。 – Frank

+0

はいできます。下記の答えをチェック!! – AndiGeeky

答えて

0

のほんの一例ですそれの中に何があるかについて。それをモノリシックにするためには、アーティファクトをその中に含めるかどうかを含めます。

ProGuardを使用して必要なものを達成することは可能かもしれません。これは、アプリケーションのリリースバージョンをビルドする際の一般的な手順です。縮小するルールを指定すると不要なコードが削除されます。 Androidのドキュメントの詳細はcode shrinking articleです。

唯一発生する可能性のある問題は、依存関係にProGuard構成ファイル自体が含まれている場合、そこに保持されるように指定されたものを強制的に縮小することができないことです。しかし、私はあなたが尋ねたAARを調べましたが、そうではないようです。

+0

これは明らかです。デバッグビルドでproguardを使用すると、ビルド時間がかかりすぎます。私は仮定することはできません、私はこの答えを受け入れるでしょう。 – Frank

1

、 これはGradleのは、何も知らないので、あなたがアーティファクトのいくつかの特定の部分を除外することはできませんコンセプト

compile ('com.github.ganfra:material-spinner:1.1.1'){ 
     exclude group: 'com.nineoldandroids', module: 'library' 
     exclude group: 'com.android.support', module: 'appcompat-v7' 
} 
+0

は依存関係のこれらのパッケージまたは参照されたライブラリですか?私は最後だと思う。そうでない場合は、com.github.ganfraの中の何かに "com.github.ganfra.somepackage"のように使用する方法の例を挙げてください。 – Frank

+0

私はabtアプリは知りませんが、ライブラリを構築すると言うことができますし、他のライブラリやパッケージをインポートする際の競合を回避したいと思いますが、ユーザーは既に、改造などのそれらのライブラリをインポートしている可能性があります。 ..その場合、除外コマンドを使用してライブラリからそれらの依存関係を削除することができます。ライブラリでプロジェクト自体のものを使用できるようにします – Ak9637

関連する問題