在我的flutter项目中,我的云端防火墙开始导致编译错误。我重新启动了一个没有代码的项目,只是带来了我的依赖。但我仍然有同样的错误:
/home/jeremy/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:171: error: cannot find symbol
query = query.whereArrayContains(fieldName, value);
^
symbol: method whereArrayContains(String,Object)
location: variable query of type Query
/home/jeremy/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:627: error: cannot find symbol
builder.setTimestampsInSnapshotsEnabled(
^
symbol: method setTimestampsInSnapshotsEnabled(Boolean)
location: variable builder of type Builder
/home/jeremy/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:707: error: cannot find symbol
return FieldValue.arrayUnion(toArray(readValue(buffer)));
^
symbol: method arrayUnion(Object[])
location: class FieldValue
/home/jeremy/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java:709: error: cannot find symbol
return FieldValue.arrayRemove(toArray(readValue(buffer)));
^
symbol: method arrayRemove(Object[])
location: class FieldValue
Note: /home/jeremy/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.9.13/android/src/main/java/io/flutter/plugins/firebase/cloudfirestore/CloudFirestorePlugin.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':cloud_firestore: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
Finished with error: Gradle task assembleDebug failed with exit code 1
我的依赖
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
firebase_core: ^0.3.4
firebase_auth: ^0.8.4+2
cloud_firestore: ^0.9.13
firebase_storage: ^2.1.0+1
firebase_ml_vision: ^0.7.0
firebase_analytics: ^2.1.1
device_info: ^0.4.0+1
cached_network_image: ^0.7.0
image_picker: ^0.5.2
shared_preferences: ^0.5.1+2
google_sign_in: ^4.0.1+3
connectivity: ^0.4.2+2
cupertino_icons: ^0.1.2
build.gradle:
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
}
allprojects {
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.google.firebase') {
details.useVersion "15.+"
}
}
}
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 / build.gradle:
def localProperties = new Properties()
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.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.youpa.youpa"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
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 {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.firebase:firebase-core:16.0.8'
implementation 'com.google.firebase:firebase-auth:16.2.0'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
I tried to follow the information in other posts, but it did not work for me. I a on linux, I use Android Studio.
我的扑医:
[✓] Flutter(Channel master,v1.4.12-pre.27,Linux,locale en_US.UTF-8)•Flutter version 1.4.12-pre.27 at / home / jeremy / FlutterSDK / flutter•Framework revision a12c5618de( 5小时前),2019-04-08 11:22:19 -0400•引擎修订版ff1bcdc009•Dart版本2.2.1(版本2.2.1-dev.3.0无)
[✓] Android工具链 - 针对Android设备开发(Android SDK版本28.0.3)•Android SDK / home / jeremy / Android / Sdk•Android NDK位置未配置(可选;对原生分析支持很有用)•平台android-28 ,build-tools 28.0.3•Java二进制文件:/home/jeremy/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/182.5314842/jre/bin/java•JavaScriptOpenJDK Runtime Environment(build 1.8) .0_152-release-1248-b01)•接受所有Android许可。
[✓] Android Studio(版本3.2)•Android Studio at / opt / android-studio•Flutter插件版本31.3.1•Dart插件版本181.5656•Java版本OpenJDK运行时环境(版本1.8.0_152-release-1248-b01)
[✓] Android Studio(版本3.3)•Android Studio at/home/jeremy/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/182.5314842•Flutter插件版本34.0.1•Dart插件版本182.5215•Java版本OpenJDK运行时环境(版本1.8.0_152-release-1248-b01)
[✓]连接设备(1个可用)•SM J530F•52007a75eaa9b403•android-arm•Android 8.1.0(API 27)
•没有发现问题!
提前致谢。杰里米。
为了解决我的问题,我添加:
在android / app / build.gradle中:
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
}
}
在android / gradle.properties中:
android.useAndroidX=true
android.enableJetifier=true
在android / build.gradle中:`
subprojects {
project.evaluationDependsOn(':app')
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
}
}
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'androidx.core' &&
!details.requested.name.contains('androidx')) {
details.useVersion "1.0.1"
}
}
}
}