Vasanth Nag K V Vasanth Nag K V - 1 month ago 11
Android Question

Android studio- adding signing configurations to gradle

i am very new to the android world and i was trying to just get to run a simple hello world app on my phone.
when i tried this i learnt that the APK generated by an android studio is an unsigned one. So to sign this I have gone through the process of creating a Key store and then a private Key , its alias and i was successful in signing the APK and installing on my phone and running it too.

Then i went through this link for adding signing configurations to the gradle to automatically sign the release with the newly created key store file.
I have followed the steps n the above link properly and did not miss anything but still when i finish my signing configurations i have an error saying


Gradle project sync failed.Basic functionality(eg. editing, debugging)
will not work properly.

Error:(19, 0) Could not find property 'config' on SigningConfig
container.


I was taken by a surprise! and now i am not able to sign my APKs manually too.
Now when i try to sign manually, it says the gradle is not in sync

i guess this file will be of help to help me solve this error. build.gradle of the project. i am trying to understand is what is mentioned here is same as teh one i configured through the Android Studio UI while making the signing configurations.

apply plugin: 'com.android.application'

android {
signingConfigs {
release {
storeFile file("<path>\\firstKeystore.jks")
storePassword "******"
keyAlias "usual password"
keyPassword "******"
}
}
compileSdkVersion 19
buildToolsVersion '20.0.0'
defaultConfig {
applicationId 'com.tech.vasanth.newsfeed'
minSdkVersion 19
targetSdkVersion 19
versionCode 1
versionName '1.0'
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
debuggable false
jniDebugBuild false
renderscriptDebugBuild false
zipAlign true
}
debug {
signingConfig signingConfigs.config
}
}
productFlavors {
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}

Answer

There is a mistake in the buildTypes.release block. The signing config should be:

signingConfig signingConfigs.release

Note, that this is how you named the configuration in the signingConfigs block above.

Also leave out the signing config in the buildTypes.debug block (or, if you really want to have it, set it like above).