Flutter Android studio构建失败

问题描述 投票:6回答:6

我的Android工作室扑动项目开始给出无法找到符号错误。

C:\Users\abc\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-2.2.0\android\src\main\java\io\flutter\plugins\firebasemessaging\FirebaseMe**ssagingPlugin.java:13: error: cannot find symbol
import androidx.annotation.NonNull;**
                          ^
  symbol:   class NonNull
  location: package androidx.annotation
C:\Users\abc\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-2.2.0\android\src\main\java\io\flutter\plugins\firebasemessaging\FirebaseMessagingPlugin.java:14: error: package androidx.localbroadcastmanager.content does not exist
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
                                             ^
C:\Users\abc\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_messaging-2.2.0\android\src\main\java\io\flutter\plugins\firebasemessaging\FlutterFir**ebaseInstanceIDService.java:9: error: package androidx.localbroadcastmanager.content does not exist
import androidx.localbroadcastmanager.content.LocalBroadcastManager;**

任何人都知道出了什么问题?

正如其他用户所建议的那样,我试图重构到AndroidX,但即使它是compileSdkVersion 28仍然会出错。我也尝试使缓存失效并重新启动android studio。

enter image description here

Gradle.properties gradle.properties

android-studio flutter
6个回答
18
投票

如果您使用的是cloud_firestore: ^0.9.0更改以下内容

pubspec.yaml

firebase_core: '^0.3.0'添加到依赖项

安卓/的build.gradle

mavenLocal()添加到buildscripts.repositories和allprojects.repositories

classpath 'com.google.gms:google-services:4.2.0'添加到buildscript.dependencies

安卓/ gradle.properties

添加android.useAndroidX=trueandroid.enableJetifier=true

Android设备/应用/的build.gradle

将compileSdkVersion更改为28

将依赖项更改为

testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'

在底部添加apply plugin: 'com.google.gms.google-services'


1
投票

我有同样的错误,不得不进入我的app级android build.gradle文件并将compilesdkversion更改为28,然后在我的gradle.properties文件中我添加了android.useAndroidX = true android.enableJetifier = true,我也经历了我的pubspec文件并检查任何对AndroidX进行重大更改的更新,并确保仅为安全而更新这些更新。了解更多关于AndroidX的信息


1
投票

您需要将项目迁移到AndroidX。请参阅firebase_messaging here的更改日志。要迁移您的项目,请参阅此link


1
投票

Android于19.01.2019获得了新的许可

去你的终端:扑医生 - 机器人牌照

在Android Studio中:重构 - >迁移到AndroidX


1
投票

除了@Eric Kim's answer,请确保您使用的是最低支持的android构建工具版本,

classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51'

理想情况下,您应该使用最新版本,但截至目前,上述版本是最低要求。


0
投票

在android / app / build.gradle中,您应该将compileSdkVersion更改为:

compileSdkVersion 28
© www.soinside.com 2019 - 2024. All rights reserved.