web-dev-qa-db-ja.com

BuildType_Decoratedの「applicationVariants」の不明なプロパティを取得できませんでした

プロジェクトにモジュールをインポートし、正しくインポートしました。しかし、私はこのエラーを受け取っています。スキャナーコントロールアプリモジュールをインポートしました(シマウマによる)。多くの代替ソリューションを検索しましたが、解決していません。

Error:(36, 0) Could not get unknown property 'applicationVariants' for BuildType_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={}, mResValues={}, mProguardFiles=[/home/custom/AndroidStudioProjects/fireball5/fireball/build/intermediates/proguard-files/proguard-Android.txt-2.3.3, /home/custom/AndroidStudioProjects/fireball5/fireball/scannercontrol/proguard-rules.pro], mConsumerProguardFiles=[], mManifestPlaceholders={}} of type com.Android.build.gradle.internal.dsl.BuildType.
<a href="openFile:/home/custom/AndroidStudioProjects/fireball5/fireball/scannercontrol/build.gradle">Open File</a>
    apply plugin: 'com.Android.library'

Android {
    compileSdkVersion 25
    buildToolsVersion '25.0.0'

    defaultConfig {
        applicationId "com.zebra.scannercontrol.app"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 71
        versionName "2.0.8.0"
        if (project.hasProperty('ADD_BUILD_TO_VERSION')) {
            versionName = versionName.substring(0,versionName.lastIndexOf(".") + 1) + (System.getenv("BUILD_NUMBER") ?: "0")
        }
    }

    signingConfigs {
        release {
            storeFile file("../../../keys/AndroidScannerSDK.keystore")
            if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
                storePassword RELEASE_STORE_PASSWORD
                keyAlias RELEASE_KEY_ALIAS
                keyPassword RELEASE_KEY_PASSWORD
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
                signingConfig signingConfigs.release
            }
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            applicationVariants.all { variant ->
                appendVersionName(variant, defaultConfig)
            }
        }
    }

    lintOptions {
        // Don't abort if Lint finds an error, otherwise the Jenkins build
        // will be marked as failed, and Jenkins won't analyse the Lint output
        abortOnError false
    }
}
def appendVersionName(variant, defaultConfig) {
    variant.outputs.each { output ->
        if (output.zipAlign) {
            def file = output.outputFile
            def fileName = file.name.replace("scannercontrol-release.apk", "scanner_control_app_v" + defaultConfig.versionName  + ".apk")
            output.outputFile = new File(file.parent, fileName)
        }

        def file = output.packageApplication.outputFile
        def fileName = file.name.replace("scannercontrol-release", "scanner_control_app_v" + defaultConfig.versionName + ".apk")
        output.packageApplication.outputFile = new File(file.parent, fileName)
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.Android.support:appcompat-v7:25.0.0'
    compile 'com.Android.support:design:25.0.0'
    compile project(':BarcodeScannerLibrary')
}
enter code here
14
Bhavik Mehta

applicationVariants.allにエラーがあります。

buildTypes {
    release {
        applicationVariants.all { variant ->
            appendVersionName(variant, defaultConfig)
        }
    }
}

修正1:

apply plugin: 'com.Android.library'を適用しているため、これは機能しません。

apply plugin: 'com.Android.application'を使用するには、applicationVariants.allに変更する必要があります。

修正2:

apply plugin: 'com.Android.library'を使い続けたい場合。

applicationVariants.alllibraryVariants.allまたはtestVariants.allに変更します。

説明:

applicationVariants(アプリプラグインのみ)

libraryVariants(ライブラリプラグインのみ)

testVariants(両方のプラグイン用)

3つすべては、それぞれApplicationVariant、LibraryVariant、およびTestVariantオブジェクトの DomainObjectCollection を返します。

お役に立てれば。

編集:

apply plugin: 'com.Android.library'

Android {
    compileSdkVersion 25
    buildToolsVersion '25.0.3'

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 71
        versionName "2.0.8.0"
        if (project.hasProperty('ADD_BUILD_TO_VERSION')) {
            versionName = versionName.substring(0,versionName.lastIndexOf(".") + 1) + (System.getenv("BUILD_NUMBER") ?: "0")
        }
    }

    signingConfigs {
        release {
            storeFile file("../../../keys/AndroidScannerSDK.keystore")
            if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
                storePassword RELEASE_STORE_PASSWORD
                keyAlias RELEASE_KEY_ALIAS
                keyPassword RELEASE_KEY_PASSWORD
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            if (project.hasProperty('RELEASE_STORE_PASSWORD')) {
                signingConfig signingConfigs.release
            }
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }

    lintOptions {
        abortOnError false
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.Android.support:appcompat-v7:25.3.1'
    compile 'com.Android.support:design:25.3.1'
    compile project(':BarcodeScannerLibrary')
}
28
DWattimena