How to exclude res folder from gradle build flavours?

I finally solved this problem!

I have found this link.

And did this:

  1. add an xml file to res/raw folder. I named it resources_discard.xml, here is it:

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:tools="http://schemas.android.com/tools"
    tools:discard="@raw/hd/*" />
    
  2. this file is placed in the correct directory structure for my flavor called lite (“src/lite/res/raw”)

This way, contents of res/hd folder are not included in lite builds, effectively reducing my lite build apk size by 50%

Update: to exclude some images from different flavors, you have to put the images in the “assets” folder, and in gradle declare:

    flavor {
        aaptOptions {
            ignoreAssetsPattern '/folder:*.jpg:*.png' //use : as delimiter 
        }
    }

I also learned that you can’t have subfolders in /res/raw folder.

Leave a Comment