android - 第一次运行Flutter Project

标签 android android-studio flutter gradle

我刚刚在(ProtonVPN)中安装了(Android Studio 4.0.1),因为我住在叙利亚
当我尝试运行新的Flutter应用程序时
这给我这个错误:
失败:生成失败,发生异常。

  • 其中:
    脚本'C:\ src \ flutter \ packages \ flutter_tools \ gradle \ flutter.gradle'行:41
  • 出了什么问题:
    评估脚本时发生问题。

  • Could not find method google() for arguments [] on project ':app' of type org.gradle.api.Project.


  • 尝试:
    使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行,以获取更多日志输出。与--scan一起运行以获取完整的见解。
  • https://help.gradle.org上获得更多帮助

  • 在8m 12s内失败
    异常:Gradle任务assembleDebug失败,退出代码为1
    我运行flutter doctor -v代码,结果如下:

    C:\Users\MSI>flutter doctor -v
    [√] Flutter (Channel stable, 1.20.4, on Microsoft Windows [Version 10.0.19041.329], locale en-US)
        • Flutter version 1.20.4 at C:\src\flutter
        • Framework revision fba99f6cf9 (2 weeks ago), 2020-09-14 15:32:52 -0700
        • Engine revision d1bc06f032
        • Dart version 2.9.2
    
    
    [√] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
        • Android SDK at C:\Users\MSI\AppData\Local\Android\sdk
        • Platform android-30, build-tools 30.0.0
        • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
        • All Android licenses accepted.
    
    [√] Android Studio (version 4.0)
        • Android Studio at C:\Program Files\Android\Android Studio
        • Flutter plugin version 49.0.2
        • Dart plugin version 193.7547
        • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    
    [√] VS Code (version 1.49.2)
        • VS Code at C:\Users\MSI\AppData\Local\Programs\Microsoft VS Code
        • Flutter extension version 3.14.1
    
    [√] Connected device (1 available)
        • SM G973N (mobile) • 127.0.0.1:62001 • android-x86 • Android 5.1.1 (API 22)
    
    • No issues found!

    我的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 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.test_app"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
        }
    
        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 '../..'
    }

    我的gradle-wrapper.properties

    #Fri Jun 23 08:50:38 CEST 2017
    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip

    我的android \ build.gradle

    buildscript {
        repositories {
            google()
            jcenter()
        }
    
        dependencies {
            classpath 'com.android.tools.build:gradle:3.5.0'
        }
    }
    
    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
    }

    最佳答案

    只需从flutter目录中删除Android和ios文件夹即可。
    使用Android Studio删除无效的缓存。
    使用flutter create .创建新的android和ios目录
    并确保您拥有良好的互联网连接。
    编辑答案:
    Flutter具有未分级的更改(因为它使用git),所以我需要隐藏或重置它才能升级它。
    转到flutter的路径,然后:

    git add -A
    git reset --hard
    
    另外,您也可以使用--force对其进行升级。flutter upgrade --force

    关于android - 第一次运行Flutter Project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64125793/

    相关文章:

    redux - 创建小部件时的 Flutter redux 调度事件

    java - 如何从类继承方法并在另一个 Activity 中使用它们

    android - 在设备上的 Android 应用程序中创建 APK 文件?

    android - 无法在Android x86平板电脑上安装Android NDK应用程序

    android - 生成签名的 apk 不起作用,apk 未签名

    android studio,在项目资源管理器中隐藏包名称

    java - 将 Google map 添加到 Flutter 时找不到 API key

    flutter - 如何在 Flutter Widget(Center Widget)的子属性中使用条件语句

    java - Android 应用程序中的 XML 解析

    android - 将动画应用于仅进入 Activity android