title: Error:(134, 0) Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer.
body: <p>I'm trying to modify an open source code in android studio, but I keep getting Error:(134, 0) Could not get unknown property 'release' for SigningConfig container of type org.gradle.api.internal.FactoryNamedDomainObjectContainer. Does anyone know what's wrong with the code?
  The code in the build.gradle file is posted below.</p>
  
  <pre><code>//apply plugin: 'idea'
  apply plugin: 'com.android.application'
  apply plugin: 'kotlin-android'
  
  android {
  
      // Create a variable called keystorePropertiesFile, and initialize it to your
      // keystore.properties file, in the rootProject folder.
      def keystorePropertiesFile = rootProject.file("keystore.properties")
      if (keystorePropertiesFile.exists()) {
          Properties keystoreProperties = new Properties();
          keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
  
  
  
      compileSdkVersion 27
      buildToolsVersion "$supportLibraryVersion"
      defaultConfig {
          applicationId "org.bottiger.podcast"
          minSdkVersion 16
          targetSdkVersion 27
          versionCode 424        // even - release. Odd - development
          versionName "0.160.2" // even - release. Odd - development
          multiDexEnabled = true
  
          vectorDrawables.useSupportLibrary = true
  
          // Espresso
          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  
          externalNativeBuild {
              cmake {
                  cppFlags "-std=c++11"
                  arguments '-DANDROID_PLATFORM=android-16', '-DANDROID_TOOLCHAIN=clang'
              }
          }
      }
      dataBinding {
          enabled = true
      }
      // Point Gradle at the directory where you want to root all of your native code
      // There is a default directory but I prefer to control which directories to use
      // and there will be a point later where keeping control over this is important
      sourceSets.main {
          jni.srcDirs = ["src/main/jni"];
          java.srcDirs += 'src/main/kotlin'
  
      }
      lintOptions {
          checkReleaseBuilds false
          abortOnError false
      }
      packagingOptions {
          exclude 'META-INF/LICENSE.txt'
          exclude 'META-INF/NOTICE.txt'
          exclude 'META-INF/LICENSE'
          exclude 'META-INF/NOTICE'
          exclude 'LICENSE.txt'
          exclude 'META-INF/rxjava.properties'
      }
  
      flavorDimensions "default"
  
      productFlavors {
  
          dev {
              // To avoid using legacy multidex when building from the command line,
              // set minSdkVersion to 21 or higher. When using Android Studio 2.3 or higher,
              // the build automatically avoids legacy multidex when deploying to a device running
              // API level 21 or higher—regardless of what you set as your minSdkVersion.
              minSdkVersion 21
              versionNameSuffix "-dev"
              //applicationIdSuffix '.dev'
  
              // The following configuration limits the "dev" flavor to using
              // English stringresources and xxhdpi screen-density resources.
              resConfigs "en", "xxhdpi"
  
              buildConfigField "boolean", "DEV_MODE", "true"
              buildConfigField "boolean", "PRIVATE_MODE", "false"
              buildConfigField "boolean", "LIBRE_MODE", "false"
  
              dimension "default"
          }
  
          free {
              ndk {
                  abiFilters "armeabi-v7a", "x86"
              }
  
              buildConfigField "boolean", "DEV_MODE", "false"
              buildConfigField "boolean", "PRIVATE_MODE", "true"
              buildConfigField "boolean", "LIBRE_MODE", "true"
  
              dimension "default"
          }
  
          google {
              buildConfigField "boolean", "DEV_MODE", "false"
              buildConfigField "boolean", "PRIVATE_MODE", "false"
              buildConfigField "boolean", "LIBRE_MODE", "false"
  
              dimension "default"
          }
  
          amazon {
              buildConfigField "boolean", "DEV_MODE", "false"
              buildConfigField "boolean", "PRIVATE_MODE", "false"
              buildConfigField "boolean", "LIBRE_MODE", "false"
  
              dimension "default"
          }
      }
  
          signingConfigs {
              release {
                  keyAlias keystoreProperties['keyAlias']
                  keyPassword keystoreProperties['keyPassword']
                  storeFile file(keystoreProperties['storeFile'])
                  storePassword keystoreProperties['storePassword']
              }
          }
          android.buildTypes.release.signingConfig = signingConfigs.release
      } else  {
          android.buildTypes.release.signingConfig = null
      }
  
  
      buildTypes {
          release {
              minifyEnabled true
              shrinkResources true
              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
              signingConfig signingConfigs.release
  
  
          }
      }
      // http://stackoverflow.com/questions/22851103/android-studio-gradle-error-multiple-dex-files-define
      dexOptions {
          preDexLibraries true
          maxProcessCount 8
          javaMaxHeapSize "2g"
      }
      compileOptions {
          sourceCompatibility JavaVersion.VERSION_1_8
          targetCompatibility JavaVersion.VERSION_1_8
      }
      // Encapsulates your external native build configurations.
      externalNativeBuild {
  
          // Encapsulates your CMake build configurations.
          cmake {
              // Provides a relative path to your CMake build script.
              path "src/main/cpp/CMakeLists.txt"
          }
      }
  }
  
  repositories {
      mavenCentral()
      maven { url 'https://jitpack.io' }
      google()
  }
  
  dependencies {
      compile fileTree(include: ['*.jar'], dir: 'libs')
      compile 'com.android.support:multidex:1.0.2'
  
      compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
  
      compile "com.android.support:support-v4:$supportLibraryVersion"
      compile "com.android.support:appcompat-v7:$supportLibraryVersion"
      compile "com.android.support:recyclerview-v7:$supportLibraryVersion"
      compile "com.android.support:palette-v7:$supportLibraryVersion"
      compile "com.android.support:cardview-v7:$supportLibraryVersion"
      compile "com.android.support:mediarouter-v7:$supportLibraryVersion"
      compile "com.android.support:design:$supportLibraryVersion"
      compile "com.android.support:percent:$supportLibraryVersion"
  
      compile "android.arch.lifecycle:runtime:$architectureComponentsVersion"
      compile "android.arch.lifecycle:extensions:$architectureComponentsVersion"
      compile "android.arch.lifecycle:reactivestreams:$architectureComponentsVersion"
      annotationProcessor "android.arch.lifecycle:compiler:$architectureComponentsVersion"
      compile "android.arch.persistence.room:runtime:$architectureComponentsVersion"
      annotationProcessor "android.arch.persistence.room:compiler:$architectureComponentsVersion"
      compile "android.arch.persistence.room:rxjava2:$architectureComponentsVersion"
  
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
  
      compile "com.squareup.okhttp3:okhttp:$okhttp_version"
      compile 'com.squareup.retrofit2:retrofit:2.2.0'
      compile 'com.squareup.retrofit2:converter-gson:2.2.0'
      compile('com.googlecode.json-simple:json-simple:1.1.1') {
          exclude module: 'junit'
      }
      //compile 'com.google.apis:google-api-services-drive:+'
      compile 'io.reactivex:rxandroid:1.2.1'
      compile 'io.reactivex:rxjava:1.3.0'
  
      compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
      compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
      compile 'io.reactivex.rxjava2:rxjava:2.1.8'
  
      compile 'io.requery:sqlite-android:3.20.0'
      compile 'com.google.android.exoplayer:exoplayer:2.6.1'
      compile('com.wdullaer:materialdatetimepicker:3.1.1') {
          exclude group: 'com.android.support'
      }
  
      // Glide
      compile "com.github.bumptech.glide:glide:$glide_version"
      compile "com.github.bumptech.glide:okhttp3-integration:$glide_version"
      compile "com.github.bumptech.glide:compiler:$glide_version"
      compile "com.github.bumptech.glide:recyclerview-integration:$glide_version"
      annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"
  
      compile 'net.steamcrafted:materialiconlib:1.1.2'
      compile 'org.whispersystems:libpastelog:1.0.7'
      compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
      compile 'com.google.http-client:google-http-client-gson:1.22.0'
  
      compile 'jp.wasabeef:recyclerview-animators:2.2.6'
      compile 'com.fasterxml.jackson.core:jackson-databind:2.8.6'
      compile 'com.nineoldandroids:library:2.4.0'
      compile 'com.bugsnag:bugsnag-android:3.8.0'
      compile 'com.journeyapps:zxing-android-embedded:3.4.0'
      compile 'com.heinrichreimersoftware:material-intro:1.6.2'
      compile 'com.dmitrymalkovich.android:material-design-dimens:1.4'
      compile 'com.github.daniel-stoneuk:material-about-library:2.2.3-support26.1.0'
      compile 'org.unbescape:unbescape:1.1.4.RELEASE'
      compile 'com.google.dagger:dagger:2.10'
      annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
  
      compile project(':armv7-fmmr')
      // For testing only
      testCompile 'junit:junit:4.12'
      testCompile 'org.mockito:mockito-core:2.7.19'
      testCompile("android.arch.persistence.room:testing:$architectureComponentsVersion") {
          exclude group: 'com.android.support'
          exclude group: 'com.google.code.gson'
      }
  
      configurations.all {
          resolutionStrategy.force "com.android.support:support-annotations:$supportLibraryVersion"
          resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.1'
  
          exclude group: "org.apache.httpcomponents", module: "httpclient"
      }
      // Espresso
      // https://developer.android.com/training/testing/ui-testing/espresso-testing.html
      androidTestCompile 'com.android.support.test:runner:1.0.1'
      androidTestCompile 'com.android.support.test:rules:1.0.1'
      androidTestCompile 'com.jakewharton.espresso:okhttp3-idling-resource:1.0.0'
      androidTestCompile "com.squareup.okhttp3:okhttp:$okhttp_version"
      androidTestCompile("com.android.support.test.espresso:espresso-contrib:$espressoVersion") {
          exclude group: 'com.android.support'
      }
      androidTestCompile("com.android.support.test.espresso:espresso-core:$espressoVersion") {
          exclude group: 'com.android.support', module: 'support-annotations'
      }
      // Free version
      // Amazon version
      amazonCompile fileTree(dir: 'src/amazon/libs', include: ['*.jar'])
      amazonCompile "com.google.android.gms:play-services-cast:$playServicesVersion"
      amazonCompile "com.google.android.gms:play-services-cast-framework:$playServicesVersion"
      amazonCompile "com.google.android.gms:play-services-auth:$playServicesVersion"
      amazonCompile "com.google.android.gms:play-services-location:$playServicesVersion"
      amazonCompile "com.google.firebase:firebase-messaging:$playServicesVersion"
      // google cast
      // Play Store
      googleCompile "com.google.android.gms:play-services-analytics:$playServicesVersion"
      // analytics
      googleCompile "com.google.android.gms:play-services-cast:$playServicesVersion"
      googleCompile "com.google.android.gms:play-services-cast-framework:$playServicesVersion"
      googleCompile "com.google.android.gms:play-services-auth:$playServicesVersion"
      googleCompile "com.google.android.gms:play-services-location:$playServicesVersion"
      googleCompile "com.google.firebase:firebase-core:$playServicesVersion"
      googleCompile "com.google.firebase:firebase-messaging:$playServicesVersion"
      googleCompile "com.google.firebase:firebase-database:$playServicesVersion"
      // google cast
      compile project(':soundwavescommon')
  }
  
  apply plugin: 'com.google.gms.google-services'
  </code></pre>