Flbter firebase_messaging: ^ 6.0.13, ошибка за исключением: - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь реализовать уведомление pu sh с помощью firebase_messaging: ^ 6.0.13,
Flutter: ошибки сборки для firebase_messaging »

Я просмотрел все подобные случаи, Перенес свой проект в AndroidX но я все еще не могу исправить мои Android ошибки сборки:

Выполненные процедуры.

  1. Очистка флаттера
  2. Восстановление кэша пабов флаттера

  3. Перезапуск Android

  4. Переделать эмулятор, ничего не работает

  5. Перенос проекта на AndroidX
  6. Попытка понижения версии плагина

Исключение:

Using hardware rendering with device Android SDK built for x86. If you get graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 in debug mode...
Initializing gradle...                                              0.6s
Resolving dependencies...                                           2.5s
/home/rajeshpatil/Downloads/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_messaging-6.0.13/android/src/main/java/io/flutter/plugins/firebasemessaging/FirebaseMessagingPlugin.java:80: error: cannot find symbol
    onAttachedToEngine(binding.getApplicationContext(), binding.getBinaryMessenger());
                                                               ^        
  symbol:   method getBinaryMessenger()                                 
  location: variable binding of type FlutterPluginBinding               
1 error                                                                 

FAILURE: Build failed with an exception.                                

* What went wrong:                                                      
Execution failed for task ':firebase_messaging:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.        

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

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

BUILD FAILED in 2s                                                      
Running Gradle task 'assembleDebug'...                                  
Running Gradle task 'assembleDebug'... Done                         3.3s
Gradle task assembleDebug failed with exit code 1

уровень проекта / build.gradle:

    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.3'
        classpath 'com.google.gms:google-services:4.3.3'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app-level / build.gradle:

def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
    compileSdkVersion 28

    lintOptions {
        disable 'InvalidPackage'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "com.example.helloworld"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    implementation 'com.google.firebase:firebase-analytics:17.2.2'
}

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

gradle.properties:

android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true

Flutter Doctor:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.10.7, on Linux, locale en_IN)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.43.0)
[✓] Connected device (1 available)

• No issues found!

1 Ответ

0 голосов
/ 10 апреля 2020

Похоже, вы работаете над старым проектом флаттера, попробуйте несколько вещей и посмотрите, помогут ли они.

1) Обновите ваш флаттер SDK. В настоящее время вы используете довольно старую версию флаттера и бета-версию, которая никогда не была стабильной версией. Даже если это не решит вашу проблему, было бы целесообразно обновить. Вы можете сделать это, запустив flutter upgrade в своем терминале.

2) Возможно, вы пытаетесь использовать более старую версию некоторых пакетов Firebase, включая обмен сообщениями. Попробуйте изменить classpath 'com.google.gms:google-services:4.3.0' в вашем проекте gradle.build на classpath 'com.google.gms:google-services:3.2.1'. Делайте это только в том случае, если обновление вашего Flutter SDK не устранило проблему, и если это не поможет вернуть ее обратно.

3) Попробуйте увеличить minSDKVersion для проекта в app-level / build.gradle, в прошлом когда у меня были подобные проблемы, это исправило мои проблемы с SDK версии 21.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...