Updated build.gradle and proguard rules

This commit is contained in:
Jimmie Matsson 2017-10-01 21:19:22 +02:00
parent 319d91f04c
commit c936c48c2d
3 changed files with 131 additions and 16 deletions

View file

@ -2,35 +2,123 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
buildToolsVersion '25.0.3'
def String VERSION
lintOptions {
disable 'MissingTranslation';
abortOnError true;
}
signingConfigs {
demo {
storeFile file("../../.keystore/tellnext.jks")
storePassword "tellnext"
keyAlias "tellnext_demo"
keyPassword "tellnext"
}
abortOnError false;
}
defaultConfig {
applicationId "com.voixtreme.audiorecorder"
minSdkVersion 17
targetSdkVersion 25
versionCode 1
versionName "0.1.1.501"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
VERSION = "0.1.1.501"
}
def props = new Properties()
file("../../.keystore/hubone.properties").withInputStream {
stream -> props.load(stream)
}
signingConfigs {
dbg {
storeFile file(props['voixtreme.debug.keystore'])
storePassword props['voixtreme.debug.keystore.password']
keyAlias props['voixtreme.debug.alias']
keyPassword props['voixtreme.debug.alias.password']
}
full {
storeFile file(props['voixtreme.release.keystore'])
storePassword props['voixtreme.release.keystore.password']
keyAlias props['voixtreme.release.alias']
keyPassword props['voixtreme.release.alias.password']
}
}
productFlavors {
dbg {
signingConfig signingConfigs.dbg
versionCode 1
versionName VERSION + " (dbg)"
proguardFile 'proguard-dont-obfuscate.pro'
}
full {
signingConfig signingConfigs.full
versionCode 1
versionName VERSION
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') \
, 'proguard-rules.pro'
}
}
buildTypes {
release {
debug {
debuggable true
minifyEnabled false
signingConfig signingConfigs.demo
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
shrinkResources false
}
release {
debuggable false
minifyEnabled true
shrinkResources true
}
}
applicationVariants.all { variant ->
variant.outputs.each { output ->
def project = project.name
def SEP = "-"
def values = variant.versionName.split(" ");
def version = values[0]
def flavor = ""
if (variant.productFlavors[0] != null) {
flavor = SEP + variant.productFlavors[0].name
}
def date = new Date();
def formattedDate = SEP + date.format('yyyyMMdd_HHmm')
def buildType = variant.variantData.variantConfiguration.buildType.name
if (buildType == "release") {
if (flavor == SEP + "dbg") {
buildType = ""
} else {
buildType = SEP + "rel"
}
} else {
buildType = SEP + "debug"
formattedDate = ""
}
def newApkName;
if (flavor == SEP + "full") {
if (formattedDate == "") {
newApkName = project + SEP + "full" + SEP + "debug" + SEP + "v" \
+ version + ".apk"
} else {
newApkName = project + SEP + "rel" + SEP + "v" + version + formattedDate \
+ ".apk"
}
} else {
if (flavor == SEP + "working") {
newApkName = project + SEP + "jima" + buildType + SEP + "v" \
+ version + formattedDate + ".apk"
} else {
newApkName = project + flavor + buildType + SEP \
+ "v" + version + formattedDate + ".apk"
}
}
output.outputFile = new File(output.outputFile.parent, newApkName)
}
}
}
@ -40,6 +128,7 @@ dependencies {
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile project (':library')
testCompile 'junit:junit:4.12'
}

View file

@ -0,0 +1,4 @@
-dontshrink
-dontobfuscate
-dontwarn
-dontoptimize

View file

@ -15,3 +15,25 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-assumenosideeffects class android.util.Log { *; }
-keepnames class * implements java.io.Serializable
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
!static !transient <fields>;
}
-keepclassmembers class ** {
@org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }