2016-07-04 3 views
0

私のbuild.gradleファイルは以下のように書かれている:私はコードをビルドしようとするとbuild.gradleファイルからresconfigsを削除するとどうなりますか?

compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.abc" 
     minSdkVersion 14 
     targetSdkVersion 22 
     versionCode 16 
     versionName "0.1.1" 
     multiDexEnabled true 
     resConfigs "hdpi", "xhdpi", "xxhdpi", "xxxhdpi" 
    } 

が、それは誤り下に与えている:私はdefaultConfigからresConfigsを削除すると

Execution failed for task ':app:processDebugResources'. 
> Cannot filter assets for multiple densities using SDK build tools 21 or later. 
Consider using apk splits instead. 

は、上記のエラーが削除され、コードが正常に構築され、apkが生成されます。

以前は動作していたので、このapkはすべてのデバイスで実行されますか? または間違いをしていますか?

他の解決策がある場合は、私にお勧めします。私はちょうどシングルapkを維持したい。

ありがとうございます。

+0

何も起こりませんそれを単に削除します..それは使用しません。 –

+0

ありがとうございます。 @Sagar実際には上記のエラーを引き起こしていたものです。私の古いシステムでは、このエラーは表示されませんでした。 – Chandu

+0

を編集して、コンパイルとターゲットのsdkバージョンを23に変更し、任意のプラットフォームで単一のapkを維持したい場合は実行時アクセス許可を使用し、bczはmarshmellow –

答えて

0

実際には、build.gradleファイルからresConfigs行を削除すると、以前と同じデバイスで実行されるAPKファイルが作成されます。より多くのリソースが含まれるため、ちょっと大きめかもしれません。これは、あなたが前に使用したのと同じ密度のリソースが含まれており、他を除外します

splits { 
    density { 
     enable true 
     reset() 
     include "hdpi", "xhdpi", "xxhdpi", "xxxhdpi" 
    } 
} 

:あなたは「defaultConfigs」セクションの後に「分割」のセクションを追加するかもしれません前と同様のレベルにAPKを縮小したい場合密度。

関連する問題