错误:(134, 0) 无法获取 org.gradle.api.internal.FactoryNameedDomainObjectContainer 类型的 SigningConfig 容器的未知属性“release”。

2022-09-05 00:34:08

我正在尝试在android工作室中修改开源代码,但我不断收到错误:(134,0)无法为org.gradle.api.internal.FactoryNameedDomainObjectContainer类型的SigningConfig容器获取未知属性“release”。有谁知道代码有什么问题吗?build.gradle 文件中的代码发布在下面。

//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'

答案 1

我也面临着同样的问题。在我的情况下我只是把上面的signingConfigs{}buildTypes{}

signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }

buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }

答案 2

请尝试以下 10 个步骤:

  1. 转到Android Studio顶部面板上的“构建”。
  2. 选择“编辑构建变体”。
  3. 转到“模块”(在左侧)。
  4. 点击“登录配置”
  5. 单击“+”号,然后键入“释放”。
  6. 单击应用并确定

在此之后,请输入您的密钥库详细信息,

  1. 转到左侧同一位置的“构建变体”。
  2. 点击“发布”"
  3. 向下滚动并转到“登录配置”,然后选择“$signinConfig.release”。"
  4. 单击应用和确定。

推荐