If I use Android Studio's "Generate Signed APK" from the Build menu it works and generates a signed apk. The problem is the apk is not generated if I try to run
./gradlew clean build assembleRelease
I've configured my build.gradle like this:
signingConfigs {
release {
//set values in ~/.gradle/gradle.properties to sign with your own keystore and certificate
storeFile file(project.hasProperty("KEYSTORE_FILE") ? KEYSTORE_FILE : "/")
storePassword project.hasProperty("KEYSTORE_PASSWORD") ? KEYSTORE_PASSWORD : ""
keyAlias project.hasProperty("KEY") ? KEY : ""
keyPassword project.hasProperty("KEY_PASSWORD") ? KEY_PASSWORD : ""
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
}
lintOptions {
abortOnError false
}
My gradle.properties file looks like these:
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
org.gradle.daemon=true
KEYSTORE_FILE=/home/user/Documents/programs/keystoreAndroidStudio/keystore.jks
KEYSTORE_PASSWORD=xxxxxx yyyyy
KEY=Client
KEY_PASSWORD=xxxxx yyyyy
What am I doing wrong?
EDIT: I also tried feeding the signing params directly to gradlew but it doesn't work either.
./gradlew assembleRelease -Pandroid.injected.signing.store.file=$KEYFILE -Pandroid.injected.signing.store.password=$STORE_PASSWORD -Pandroid.injected.signing.key.alias=$KEY_ALIAS -Pandroid.injected.signing.key.password=$KEY_PASSWORD
I'm starting to think that it is something related to my passwords containing a space. I tried giving the previous command a wrong password and it didn't complain, it still said BUILD SUCCESSFUL