第一次运行 Flutter 项目

Posted

技术标签:

【中文标题】第一次运行 Flutter 项目【英文标题】:first time running Flutter Project 【发布时间】:2021-01-15 10:19:12 【问题描述】:

我刚刚使用 (Proton***) 安装了 (android Studio 4.0.1),因为我住在叙利亚 当我尝试运行新的 Flutter 应用程序时 它给了我这个错误:

FAILURE:构建失败并出现异常。

在哪里: 脚本 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' 行:41

出了什么问题: 评估脚本时出现问题。

在 org.gradle.api.Project 类型的项目 ':app' 上找不到参数 [] 的方法 google()。

尝试: 使用 --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!

我的应用\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

我的安卓\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

【问题讨论】:

【参考方案1】:

只需从flutter目录中删除Android和ios文件夹即可。

使用 android studio 移除无效缓存。

使用flutter create .创建新的android和ios目录 并确保您有良好的互联网连接。

编辑答案:

Flutter 有未分级的更改(因为它使用 git),所以我需要存储或重置它以便能够升级它。

转到flutter的路径并:

git add -A
git reset --hard

您也可以使用 --force 来升级它。

flutter upgrade --force

【讨论】:

thanx Abhishek Ghaskata,当我在 C:\src\flutter 中搜索 Android 和 ios 文件夹时,它给了我很多 Android 和 ios 文件夹,因此请删除所有文件夹或删除其中的 Android 和 ios 文件夹我的项目位置?之后运行“颤振创建”。在 android studio 终端中? 仅从项目中删除 Android 和 iOS 目录。 我做了你告诉我的一切,但仍然有同样的错误!! 请使用 flutter upgrade 更新您的颤振并尝试新项目。 我在 Android Studio 的终端中使用(颤振升级)它给了我这个错误您的颤振结帐有本地更改,这些更改将通过升级删除。如果您想保留这些更改,建议您通过“git stash”存储它们,或者将更改提交到本地分支。如果可以删除本地更改,则使用 --force 重新运行此命令。

以上是关于第一次运行 Flutter 项目的主要内容,如果未能解决你的问题,请参考以下文章

Flutter——首次在安卓机上运行

与Flutter第一次亲密接触-Android 视角

Flutter web 获取屏幕大小

我不能再运行 Flutter 项目了

Flutter 运行和 ipa - Mac M1 - #import <Flutter/Flutter.h>

Flutter iOS 动画在第一次运行时很卡顿