Chciałbym uruchomić ProGuard na uwalnianiu kompilacji mojego Android biblioteki. Poniżej znajduje się mój plik build.gradle
, który znajduje się w moim projekcie.Jak uruchomić program runProguard dla wtyczki Gradle biblioteki Android?
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')
}
}
}
Running gradlew clean
lub gradlew build
powraca następujący błąd:
> Could not find method buildTypes() for arguments [[email protected]d] on project
Wydaje się, że wtyczki android-library
brakuje metody buildTypes
. Jeśli pomyślnie zmienić apply plugin
do android
, gradlew
przebiegów. Jest to jednak projekt biblioteki i chciałbym go zachować. Inne części moje gradle.build
(nie wymienione tutaj) polegają na projekcie będącym biblioteką.
Czy jest jakiś sposób, aby android-library
wtyczki run ProGuard na budowie?
Myślę, że pomysł polega na uruchomieniu ProGuarda raz dla całego kodu zawierającego końcową aplikację, a nie dla każdej biblioteki osobno. –
Tworzę słoik SDK do dystrybucji. Chciałbym, żeby funkcje publiczne były widoczne, ale prywatne zmienne i funkcje nie byłyby widoczne. – BVB