Earlier my gradle was like this: WHICH IS OFCOURSE INCORRECT
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.0.3'
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:+'
compile 'com.google.android.gms:play-services:+'
compile 'com.jakewharton:butterknife:4.0.+'
compile 'com.google.code.gson:gson:2.2.+'
compile 'com.google.android.gms:play-services:+'
}
So while uploading i got an error from google play saying that the apk is still in debug mode and could not allow to upload that apk.
Now after searching over, I found that i need to change my gradle file finally i have come up with this gradle:
Please guide me if i am correct!!
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.0.3'
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
signingConfigs {
release {
storeFile file("F:\\MyAppFolder\\AppName.jks")
storePassword "abc1236"
keyAlias "prince"
keyPassword "abc1236"
}
}
}
dependencies {
compile 'com.android.support:gridlayout-v7:19.0.1'
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:+'
compile 'com.google.android.gms:play-services:+'
compile 'com.jakewharton:butterknife:4.0.+'
compile 'com.google.code.gson:gson:2.2.+'
compile 'com.google.android.gms:play-services:+'
}
Now where am i going wrong?
Please help.
On the lower left of the Studio window there's a docked view called "Build Variants".
Open it and choose the release variant.
ps. you are adding compile 'com.google.android.gms:play-services:+' twice.
The comment by pyus13 is what i would go by.
It says in the documentation (http://developer.android.com/tools/publishing/app-signing.html) that:
"Note: Including the passwords for your release key and keystore inside the build file is not a good security practice. Alternatively...have the build process prompt you for these passwords."
So just do Build > Generate signed apk and Android studio will prompt you for the keystore/passwords and generate the apk in release mode. No need to put passwords in build file.
来源:https://stackoverflow.com/questions/22694958/how-to-set-my-gradle-for-final-release-apk