Triple-T / gradle-play-publisher

GPP is Android's unofficial release automation Gradle Plugin. It can do anything from building, uploading, and then promoting your App Bundle or APK to publishing app listings and other metadata.
MIT License
4.13k stars 341 forks source link

No signature of method on AGP 4.1.2 #923

Closed Vignesh-dev12 closed 3 years ago

Vignesh-dev12 commented 3 years ago

Describe the bug

When migrating 3.3.0, i got following error.

A problem occurred evaluating project ':app'. No signature of method: build_wp8k3qw43k7246p5z795j816.android() is applicable for argument types: (build_wp8k3qw43k7246p5z795j816$_run_closure1) values: [build_wp8k3qw43k7246p5z795j816$_run_closure1@3283a11a]

Versions

Tasks executed

./gradlew publish

Expected behavior

Task completes and uploads bundle and mapping file to Google Play Console.

SUPERCILEX commented 3 years ago

Please share your build file. Also, did you update the android gradle plugin at the same time? This doesn't look related to GPP.

Vignesh-dev12 commented 3 years ago

we didn't update gradle version while upgrading gradle play publisher. build.gradle (app)

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.github.triplet.play'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 30
    buildToolsVersion '29.0.3'
    defaultConfig {

        applicationId "com.example.sample"

        minSdkVersion 19
        targetSdkVersion 30

        versionCode 18
        versionName "3.2"

        multiDexEnabled true
    }

    lintOptions {
        checkReleaseBuilds true
        // Or, if you prefer, you can continue to check for errors in release builds,
        // but continue the build even when errors are found:
        abortOnError true
        ignoreWarnings true
    }

    signingConfigs {
        release {
            storeFile rootProject.file('xxxxx')
            keyAlias 'xxxxx'
            keyPassword 'xxxxx'
            storePassword 'xxxxx'
        }
    }

    play {
        serviceAccountCredentials.set(file('xxxxx'))
        track = "internal" // internal/alpha/beta/production
        userFraction.set(1d)
        defaultToAppBundles = true
        outputProcessor { // this: ApkVariantOutput
            versionNameOverride = "$versionNameOverride.$versionCode"
        }
    }

    buildTypes {
        debug {
            minifyEnabled true
            useProguard false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            useProguard true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    }

    externalNativeBuild {
        ndkBuild {
            path 'src/main/jni/Android.mk'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    repositories {
        flatDir {
            dirs 'libs'
        }
    }

}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.google.firebase:firebase-messaging:21.0.1'
    implementation 'com.google.firebase:firebase-core:18.0.2'
    implementation 'com.google.firebase:firebase-crashlytics:17.3.1'
    androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
    implementation "org.jetbrains.anko:anko-design:$anko_version"
    implementation "org.jetbrains.anko:anko-common:$anko_version"
    implementation 'io.reactivex.rxjava2:rxjava:2.1.17'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'me.dm7.barcodescanner:zbar:1.8.4'

    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'androidx.exifinterface:exifinterface:1.3.2'

    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.1.0'
    implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    testImplementation 'junit:junit:4.13.2'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation "org.jetbrains.anko:anko-common:$anko_version"
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

    implementation "com.google.android.gms:play-services-gcm:17.0.0"
    implementation "com.google.android.gms:play-services-auth:19.0.0"
    implementation "com.google.firebase:firebase-auth:20.0.2"

    implementation 'androidx.multidex:multidex:2.0.1'
    implementation 'androidx.work:work-runtime-ktx:2.2.0'
    implementation 'com.google.android.play:core:1.9.1'

    implementation 'androidx.vectordrawable:vectordrawable:1.1.0'

    implementation files('libs/YouTubeAndroidPlayerApi.jar')

    implementation 'com.squareup.okhttp3:okhttp:3.12.1'
    implementation(name: "truesdk-0.7-releasePartner", ext: "aar")

    def room_version = "1.1.1"
    implementation "android.arch.persistence.room:runtime:$room_version"
    annotationProcessor "android.arch.persistence.room:compiler:$room_version"
    kapt "android.arch.persistence.room:compiler:1.1.1"
    implementation "android.arch.lifecycle:extensions:1.1.1"
    annotationProcessor "android.arch.lifecycle:compiler:1.1.1"

    implementation "android.arch.paging:runtime:1.0.1"
    testImplementation "android.arch.paging:common:1.0.1"

    implementation 'com.github.yalantis:ucrop:2.2.4'
}
apply plugin: 'com.google.gms.google-services'

build.gradle (Project)

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = '1.3.72'
    ext.anko_version = '0.10.0'
    ext.version = '28.0.0'
    repositories {
        jcenter()
        maven { url 'https://plugins.gradle.org/m2/' }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.5'
        classpath 'com.google.firebase:firebase-plugins:2.0.0'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.5.1'
        classpath 'com.github.triplet.gradle:play-publisher:3.3.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url 'https://maven.google.com'
            name 'Google'
        }
        maven { url 'https://jitpack.io' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
SUPERCILEX commented 3 years ago

outputProcessor was removed a while ago, setting the userFraction to 1 is unnecessary, and the play block should be outside the android block.