From c1db38e71a358f752a7fc7b9b93d33bad6c0a8b4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 25 Apr 2016 23:38:50 +0200 Subject: [PATCH] prepare Release mode --- .gitignore | 1 + app/build.gradle | 28 +++++++++++++++++++++++++++- app/proguard-rules.pro | 13 +++++++++++++ signing.properties_sample | 4 ++++ 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 signing.properties_sample diff --git a/.gitignore b/.gitignore index ba23a7d..7051e76 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /build /captures release.keystore +signing.properties diff --git a/app/build.gradle b/app/build.gradle index 935b7df..f0425f6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -11,10 +11,16 @@ android { versionCode 1 versionName "1.0" } + + signingConfigs { + release + } + buildTypes { release { - minifyEnabled false + minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + signingConfig signingConfigs.release } } } @@ -26,3 +32,23 @@ dependencies { compile 'com.jakewharton:butterknife:7.0.1' compile 'com.github.yukuku:ambilwarna:2.0.1' } + +def Properties props = new Properties() +def propFile = new File('signing.properties') +if (propFile.canRead()) { + props.load(new FileInputStream(propFile)) + + if (props != null && props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') && + props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) { + android.signingConfigs.release.storeFile = file(props['STORE_FILE']) + android.signingConfigs.release.storePassword = props['STORE_PASSWORD'] + android.signingConfigs.release.keyAlias = props['KEY_ALIAS'] + android.signingConfigs.release.keyPassword = props['KEY_PASSWORD'] + } else { + println 'signing.properties found but some entries are missing' + android.buildTypes.release.signingConfig = null + } +} else { + println 'signing.properties not found' + android.buildTypes.release.signingConfig = null +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 25ea334..9f53b88 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -15,3 +15,16 @@ #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} + +# Butterknife +-keep class butterknife.** { *; } +-dontwarn butterknife.internal.** +-keep class **$$ViewBinder { *; } + +-keepclasseswithmembernames class * { + @butterknife.* ; +} + +-keepclasseswithmembernames class * { + @butterknife.* ; +} diff --git a/signing.properties_sample b/signing.properties_sample new file mode 100644 index 0000000..acf8fb9 --- /dev/null +++ b/signing.properties_sample @@ -0,0 +1,4 @@ +STORE_FILE=/path/to/your.keystore +STORE_PASSWORD=yourkeypass +KEY_ALIAS=projectkeyalias +KEY_PASSWORD=yourkeypass