2017-05-24 3 views
1

Ich muss einige Dateien unter assets in meinem AAR verteilen, die nicht komprimiert werden sollten.AAR Android Library - Kompression auf Assets deaktivieren

So zum Beispiel in einem Android-App, die Sie in build.gradle folgenden tun würden:

android { 
    ... 
    aaptOptions { 
     noCompress 'dll' 
    } 
} 

Gibt es eine Möglichkeit, diese von einer AAR-Datei anzuwenden? Ich möchte lieber keine Anweisungen für Entwickler enthalten, die meinen AAR verwenden, um ihre build.gradle Datei zu ändern.

Antwort

0

Ich glaube nicht, dass es eine Möglichkeit gibt, die Einstellungen für die Erstellung von Gradle aus einem AAR heraus zu setzen.

Allerdings mache ich sowieso ein Gradle-Plugin, also plane ich, ein Gradle-Plugin zusammen mit dem AAR zu versenden.

Also in meinem Plugin mache ich das:

class AaptOptionsTask extends DefaultTask { 

    @TaskAction 
    def run() { 
     project.configure(project) { 
      project.android.aaptOptions.setProperty('noCompress', 'dll') 
     } 
    } 

    AaptOptionsTask() { 
     group = 'myGroup' 
     description = 'aaptOptions settings' 
    } 
} 

Welche Setup als Aufgabe ist wie folgt:

class MyGradlePlugin implements Plugin<Project> { 
    @Override 
    void apply(Project project) { 
     project.task('aaptOptionsTask', type: AaptOptionsTask) 
     project.tasks.getByName('preBuild').dependsOn('aaptOptionsTask') 
    } 
} 

Wenn es einen anderen Weg, ich bin ganz Ohr.

Verwandte Themen