フレーバーから特定のresフォルダを削除する必要があります。gradle build flavorsからresフォルダを除外する方法は?
まだdrawable-mdpiフォルダがapkに届いています。
誰も私が間違いをしていることを明記してください。
おかげ のVivek
フレーバーから特定のresフォルダを削除する必要があります。gradle build flavorsからresフォルダを除外する方法は?
まだdrawable-mdpiフォルダがapkに届いています。
誰も私が間違いをしていることを明記してください。
おかげ のVivek
私は最終的にこの問題を解決!
this linkが見つかりました。
そして、これでした:
は、RES /生フォルダにXMLファイルを追加します。私はここにある、それはresources_discard.xmlの名前:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:discard="@raw/hd/*" />
このファイルは「生SCR /ライト/ resを/」ライトと呼ばれる私の味のための正しいディレクトリ構造
これを内に配置されていますres/hdフォルダの内容はライトビルドに含まれていないので、自分のliteビルドapkサイズを50%小さくすることができます。
UPD:イメージを別のフレーバから除外するには、グラデーションの宣言:
flavor {
aaptOptions {
ignoreAssetsPattern '/folder:*.jpg:*.png' //use : as delimiter
}
}
また、/ rawフォルダにサブフォルダがありません。
分割を使用してみることができます。 (右のAndroid SDKのWebページから)
例:
android {
...
splits {
// Configures multiple APKs based on screen density.
density {
// Configures multiple APKs based on screen density.
enable true
// Specifies a list of screen densities Gradle should not create multiple APKs for. Here you should add all the densities except MDPI.
exclude "ldpi", "xxhdpi", "xxxhdpi"
// Specifies a list of compatible screen size settings for the manifest.
compatibleScreens 'small', 'normal', 'large', 'xlarge'
}
}
}
問題が解決しない場合は、お使いの解像度/ MDPI 2つの別々のモジュールへのres /密度フォルダの残りの部分(レッツ・コールを分けることができそれら、layoutMdpiおよびlayoutAll)。どちらのモジュールも同じパッケージ名を持つ必要があるので、Rクラスは同一で互換性があります(基本的にAndroid SDKの異なるバージョン間で同じです)。次に、少なくとも2つの特定の依存関係構成を作成します.1つはMDPIを使用する必要があり、もう1つはMDPIを使用する必要があるものです。
configurations {
mdpiCompile
allCompile
}
dependencies {
...
mdpiCompile project(':layoutMdpi')
allCompile project(':layoutAll')
}
MDPIリソースがlayoutAllに存在しないので、あなたはいいです。
あなたは 'sourceSets私が試した{ flavor1 { メイン{ リソース{ SRCDIR 'RES' は '** /描画可能MDPI/**' } } } 除外}' –
を試してみてください同じですが動作しません。 – vivek
@vivekこの問題をどうやって解決しましたか? – Fahim