2017-08-24 10 views
1

私のアプリには多数の画像が含まれているため、現在最適化された画像であっても、署名されたAPKは> 100MB(約115MB)です。密度別のビルドを生成するために密度分割を使用したい。私は現在、私のgradleファイルに以下を含めていますが、生成されたAPKはすべて同じサイズであり、すべてのリソースを含んでいます。Android Density Splitが動作しない

// Configures multiple APKs based on screen density. 
density { 

    // Configures multiple APKs based on screen density. 
    enable true 

    // Specifies a list of compatible screen size settings for the manifest. 
    compatibleScreens 'small', 'normal', 'large', 'xlarge' 
} 

他の誰かが同じ問題を経験したが、誰も回答していないことに気付きました。私はその投稿にコメントしたかったが、私の評判は十分ではなかった。APK split by density still contains all resources

誰にもアイデアはありますか?

以下のEDITは、hdpiリリースビルドとmdpiリリースビルドを比較した2つのスクリーンショットです。あなたは明らかに、彼らは同じ大きさで見ることができます。

hdpi

mdpi

compare hdpi with mdpi

+0

フレーバーを使用していますか?私はいくつかのアプリケーションでいくつかのテストを行いましたが、これはうまくいきませんでしたが、それ以外のところではそれは機能しませんでした –

+0

いいえ私はこのアプリでフレーバーを使用していません – lorenzo

+0

あなたは生成されたapkの2つの比較の印刷画面? apk分析機能を使用して、それを別のものと比較しますか? –

答えて

0
density { 
    enable true 
    reset() 
    include "mdpi", "hdpi", "xhdpi", "xxhdpi",...... 
} 

追加リセット()と私はよく分からない

0

あなたのコードに含めますこれはAndroid Studio 2のバグですが、Android Studio 3で動作するようにしました。

元は私はretrolambdaプラグインで問題になっていたかもしれないと思っていましたが、私は肯定的ではありません。

2

は最終的に私は私の場合には、この問題

を解決し、私は

defaultConfig { 
    resConfigs "en", "id" //remove this line 
    //your other implementation 
} 

私はなぜ知らないアプリケーションのGradleスクリプトにdefaultConfigブロックにresConfigsを削除する必要がありましたが、それは何らかの形でresConfigsブレークAPKです分割

関連する問題