web-dev-qa-db-fra.com

Impossible de construire la version APK pour flutter

J'essaie actuellement de créer un APK signé sous Windows en utilisant Flutter. J'ai effectué les tâches décrites dans la documentation sur le site Flutter. Lorsque je lance la commande de construction, voici le résultat obtenu. Il semble être autour des plugins Firebase. Des idées?

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  firebase_auth: 0.4.0
  firebase_database: ^0.3.0

Flutter Doctor Output

    C:\Users\myuser\projects\myflutterapp>flutter doctor
    [√] Flutter (on Microsoft Windows [Version 10.0.16299.125], locale en-US, channel alpha)
        • Flutter at C:\Users\myuser\flutter
        • Framework revision 8f65fec5f5 (3 weeks ago), 2017-12-12 09:50:14 -0800
        • Engine revision edaecdc8b8
        • Tools Dart version 1.25.0-dev.11.0
        • Engine Dart version 2.0.0-Edge.d8ae797298c3a6cf8dc9f4558707bd2672224d3e

    [√] Android toolchain - develop for Android devices (Android SDK 27.0.1)
        • Android SDK at C:\Users\myuser\AppData\Local\Android\Sdk
        • Android NDK at C:\Users\myuser\AppData\Local\Android\Sdk\ndk-bundle
        • Platform Android-27, build-tools 27.0.1
        • Android_HOME = C:\Users\myuser\AppData\Local\Android\Sdk
        • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\Java
        • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

    [√] Android Studio (version 3.0)
        • Android Studio at C:\Program Files\Android\Android Studio
        • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

    [-] Connected devices
        • None

Informations du journal des erreurs

    C:\Users\myuser\projects\myflutterapp>flutter build apk --release
    Initializing gradle...                                0.9s
    Resolving dependencies...                             1.1s
    Running 'gradlew assembleRelease'...
    Configuration 'debugCompile' in project ':app' is deprecated. Use 'debugImplementation' instead.
    Configuration 'profileCompile' in project ':app' is deprecated. Use 'profileImplementation' instead.
    Configuration 'releaseCompile' in project ':app' is deprecated. Use 'releaseImplementation' instead.
    Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
    registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
    registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
    registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
    Configuration 'debugProvided' in project ':firebase_auth' is deprecated. Use 'debugCompileOnly' instead.
    Configuration 'releaseProvided' in project ':firebase_auth' is deprecated. Use 'releaseCompileOnly' instead.
    Configuration 'compile' in project ':firebase_core' is deprecated. Use 'implementation' instead.
    Configuration 'debugProvided' in project ':firebase_core' is deprecated. Use 'debugCompileOnly' instead.
    Configuration 'releaseProvided' in project ':firebase_core' is deprecated. Use 'releaseCompileOnly' instead.
    Configuration 'debugProvided' in project ':firebase_database' is deprecated. Use 'debugCompileOnly' instead.
    Configuration 'releaseProvided' in project ':firebase_database' is deprecated. Use 'releaseCompileOnly' instead.
    Skipping AOT snapshot build. Fingerprint match.

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:lintVitalRelease'.
    > Could not resolve all artifacts for configuration ':app:profileRuntimeClasspath'.
    > Could not resolve project :firebase_auth.
        Required by:
            project :app
        > Unable to find a matching configuration of project :firebase_auth:
            - Configuration 'debugApiElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'debug'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found incompatible value 'Java-api'.
            - Configuration 'debugRuntimeElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'debug'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found compatible value 'Java-runtime'.
            - Configuration 'releaseApiElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'release'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found incompatible value 'Java-api'.
            - Configuration 'releaseRuntimeElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'release'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found compatible value 'Java-runtime'.
    > Could not resolve project :firebase_database.
        Required by:
            project :app
        > Unable to find a matching configuration of project :firebase_database:
            - Configuration 'debugApiElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'debug'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found incompatible value 'Java-api'.
            - Configuration 'debugRuntimeElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'debug'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found compatible value 'Java-runtime'.
            - Configuration 'releaseApiElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'release'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found incompatible value 'Java-api'.
            - Configuration 'releaseRuntimeElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'release'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found compatible value 'Java-runtime'.
    > Could not resolve project :firebase_core.
        Required by:
            project :app
        > Unable to find a matching configuration of project :firebase_core:
            - Configuration 'debugApiElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'debug'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found incompatible value 'Java-api'.
            - Configuration 'debugRuntimeElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'debug'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'debug' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found compatible value 'Java-runtime'.
            - Configuration 'releaseApiElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'release'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found incompatible value 'Java-api'.
            - Configuration 'releaseRuntimeElements':
                - Required com.Android.build.api.attributes.BuildTypeAttr 'profile' and found incompatible value 'release'.
                - Required com.Android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
                - Found com.Android.build.gradle.internal.dependency.VariantAttr 'release' but wasn't required.
                - Required org.gradle.api.attributes.Usage 'Java-runtime' and found compatible value 'Java-runtime'.

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 38s
    Gradle build failed: 1
5
marktechson

En fin de compte, la meilleure façon de gérer cela consiste à apporter la modification suivante dans Android/app/build.gradle:

Android {
    compileSdkVersion 26
    buildToolsVersion '26.0.3'
    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        applicationId "com.example.app"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    // This is the main section that I've updated
    // to get the release APK to build
    buildTypes {
        release {
            profile {
                matchingFallbacks = ['debug', 'release']
            }
            signingConfig signingConfigs.release
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.Android.support.test:runner:1.0.1'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}

apply plugin: 'com.google.gms.google-services'

Avec ce changement, j'ai pu construire la version APK.

4
marktechson

Je viens de désactiver la charpie. Il a résolu mon problème de version construite.

lintOptions {
        disable 'InvalidPackage'
        checkReleaseBuilds false
}
0
Jithin Jude

J'ai eu la même erreur, il s'est avéré que j'ai utilisé deux fois par défaut buildTypes

buildTypes {
  buildTypes {
    .....
  }
}
0
kubastick

J'ai essayé de passer de debug à release. Cette solution n'a pas fonctionné pour moi. Cependant, lorsque j'ai consulté ce site: https://www.dartlang.org/tools/pub/dependencies il est indiqué que vous pouvez définir une dépendance sans spécifier de version. Donc, dans le fichier pubspec.yaml, je l'ai fait et cela a fonctionné pour moi ... 

dependencies:
  flutter:
    sdk: flutter
    image_picker: 
    google_sign_in: 
    firebase_analytics: 
    firebase_auth: 
    firebase_database:
    firebase_storage:
0
Dedan