2016-02-29 4 views
17

マイアプリのインポートAdMobの一部密度描画可能を削除するには:どのようにAndroidのライブラリーから

com.google.android.gms:遊ぶ - サービス - 広告:8.4.0

をしかし、それは私のアプリは非常に大きな作り、私はそこに "drawable-xxxhdpi"、 "drawable-tvdpi"という非常に大きな画像を持つライブラリがあることを発見しました。このライブラリからそれらを削除(除外)したいと思います。

私は

https://code.google.com/p/android/issues/detail?id=179136

、密度のための「resConfigsは」 をサポートされていない場合ので、

ではなく、必ず、ちょうど私が前に必要な密度のフォルダが含まれるようにGradleの中で「resConfigs」を使用

密度のapk分割が私の要求に合わないようです。

ここで何をすればよいですか?

+1

多分私のコメントは話題にはなりませんが、ベクター描画可能をサポートするようにサービスを更新していないのでしょうか? http://android-developers.blogspot.fr/2016/02/android-support-library-232.html – JJ86

答えて

0

Resource Shrinkingを使用すると、不要なリソースをライブラリから削除できます。そのドキュメントから:また

実行時に実際に必要とされていないプロジェクト内のリソースを削除するには、これはまた、彼らは実際にアプリケーション

で必要とされていない場合は、依存しているライブラリからリソースを削除します

しかし、Proguardも設定する必要がありますが、これは別の問題です。しかし、すでに設定している場合は、下の例のようにグラデルスクリプトにshrinkResources trueを追加してください。

buildTypes { 
    release { 
     minifyEnabled true 
     shrinkResources true 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
+0

いいえ、縮小リソースはそのためには機能しません – virsir

+0

それはあなたのためにはうまくいかなかったかどうかはっきりしません。 resConfigsでリソースの縮小が機能しないと述べている場合は、前者の場合、提供されているリンクで説明されているように厳密なモードを設定することが原因かもしれません。 –

+0

shrinkResourcesは、未使用のリソースを削除します。 virsirは特定の密度の使用済みリソースを削除しようとしています。 – BladeCoder

4

リリースapkからxxxhdpiとtvdpiを分割して除外することができます。

splits { 
     density { 
       enable true   
       exclude "xxxhdpi", "tvdpi", 
     } 
    } 

これは後でプレイストアに送信するために異なるapkを生成します。分割の詳細についてhere.

+0

私はこの答えが本当に必要なものではないと言わなければなりません。 mdpi、hdpiパッケージに分割されます。 – virsir

関連する問題