Ich möchte ProGuard auf Release-Build meiner Android-Bibliothek laufen lassen. Unten ist meine build.gradle
Datei, die in meinem Projekt ist.Wie runProguard funktioniert für das Android-Bibliothek Gradle Plugin?
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android-library'
repositories {
mavenCentral()
}
android {
compileSdkVersion 18
buildToolsVersion "18.0.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 18
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
resources {
srcDir 'src/../lib'
}
}
}
buildTypes {
release {
runProguard true
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
}
Lauf gradlew clean
oder gradlew build
gibt die folgende Fehlermeldung:
> Could not find method buildTypes() for arguments [[email protected]d] on project
es, dass Plugin scheint android-library
ist die buildTypes
Methode fehlt. Wenn ich apply plugin
zu android
ändere, wird gradlew
erfolgreich ausgeführt. Dies ist jedoch ein Bibliotheksprojekt und ich möchte es so behalten. Andere Teile meine gradle.build
(hier nicht erwähnt) verlassen sich auf das Projekt, das eine Bibliothek ist.
Gibt es eine Möglichkeit, das android-library
Plugin ProGuard auf Build ausführen zu lassen?
Ich denke, die Idee ist, ProGuard einmal für den gesamten Code auszuführen, der die endgültige App umfasst, nicht für jede Bibliothek einzeln. –
Ich erstelle ein SDK-Jar für die Verteilung. Ich möchte, dass öffentliche Funktionen sichtbar sind, aber private Variablen und Funktionen nicht sichtbar sind. – BVB