Assets für Release-Build-Typ ausschließen

Ich importiere eine Android-Bibliothek in eine mit gradle erstellte Anwendung.

dependencies {
    compile 'com.example:great-lib:0.1-SNAPSHOT'
}

Diese Bibliothek enthält nur Elemente, js, css und Bilder, die in einer Webansicht mit einem Layout wie diesem verwendet werden sollen:

assets/
|-> great.css
|-> great.min.js
|-> great.min.js.map
|-> js/
|   |-> plop.js
|   |-> foo.js
|   ...
|-> img/
|   ...

Dasjser Ordner @ enthält Quelldateien (zur Verwendung mit Quellkarten). Ich würde es gerne mit einbeziehen und das.map Datei für die Debug-Builds und habe nur die minimierten Js in Release-Builds, aber ich kann keinen Weg finden, das zu tun.

So weit ich versucht habe:

android {
    // this doesn't exclude anything
    packageOptions {
        exclude 'assets/js'
    }
    buildTypes {
        release {
            // this does exclude the js folder, but in both release and debug
            aaptOptions {
                ignoreAssetsPattern "!js"
            }
        }
    }
}

Jede Idee, ob das, was ich will, möglich ist und wenn ja, wie?

(Ich habe auch darüber nachgedacht, zwei Versionen der Bibliothek zu veröffentlichen great-lib undgreat-lib-debug), und haben die Abhängigkeit indebugCompile undreleaseCompile, aber ich würde es vorziehen, das zu vermeiden und eine einzige Version zu veröffentlichen)

Antworten auf die Frage(10)

Ihre Antwort auf die Frage