无法在 Android 设备上运行 Flutter 项目:ProcessException: gradlew异常退出
Posted
技术标签:
【中文标题】无法在 Android 设备上运行 Flutter 项目:ProcessException: gradlew异常退出【英文标题】:Unable to Run Flutter project on Android device : ProcessException: gradlew exited abnormally 【发布时间】:2019-05-07 19:54:35 【问题描述】:以错误结束:
ProcessException:进程“/my_project_directory/android/gradlew”异常退出: env: bash\r: 没有这样的文件或目录
命令:/my_project_directory/android/gradlew -v
原因:org.gradle.api.UncheckedIOException:java.net.URISyntaxException:索引 2 处不透明部分中的非法字符:C:\Users\Harsh\ Desktop\StandardAppStructureFlutter\lib\ui\page_login.dart 在 org.gradle.api.internal.file.FileOrUriNotationConverter.convert(FileOrUriNotationConverter.java:119) FlutterTask.getSourceFiles(/Users/harshbhavsar/Desktop/flutter/packages/flutter_tools/gradle/flutter.gradle:604)
当我尝试在任何 Android 设备上运行 Flutter 项目时,它会显示 ProcessException。它可以与 ios 模拟器一起使用,但无法在 Android 设备上运行。
版本:
Flutter(Channel master,v1.0.1-pre.2,Mac OS X 10.13.6 17G3025,语言环境 en-IN)
Dart 2.1.0(构建 2.1.0-dev.9.4 f9ebf21297)
Android Studio(3.2 版)
Android 工具链 - 为 Android 设备开发 (Android SDK 28.0.3)
同样使用flutter pubspec.yaml中的包列表
dependencies:
flutter:
sdk: flutter
connectivity:
http: ^0.12.0
path_provider:
validate: ^1.7.0
image_picker: ^0.4.10
shared_preferences: "^0.4.2"
firebase_auth: ^0.6.2+1
flutter_facebook_login: ^1.1.1
flutter_staggered_grid_view:
dio:
google_sign_in:
cupertino_icons: ^0.1.2
我的应用级 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.")
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android
compileSdkVersion 28
buildToolsVersion '28.0.3'
lintOptions
disable 'InvalidPackage'
defaultConfig
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.standardappstructure"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
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
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'
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
【问题讨论】:
【参考方案1】:转到安装 Flutter SDK 的路径我的 Flutter SDK 路径
即:C:\Flutter SDK\flutter\packages\flutter_tools\gradle
通过移动编辑flutter.gradle文件
maven
url 'https://dl.google.com/dl/android/maven2'
到 jcenter() 上方的嵌套存储库标记,如图所示
i.e. flutter.gradle file buildscript section will look like this
buildscript
repositories
maven
url 'https://dl.google.com/dl/android/maven2'
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:3.1.2'
或点击此链接: Couldn't locate lint-gradle-api-26.1.2.jar for Flutter project
如果这不起作用 运行以下命令
flutter doctor
然后你可以探索问题 也尝试更改 Android SDK 版本**
【讨论】:
试过这个。不工作。~此外,如果我正在创建新项目,那么它可以在 Android 和 IOS 上运行!【参考方案2】:Gradle 尚未在系统上正确安装。
创建一个 Android Studio 项目(不是 Flutter 项目)。 单击构建,它将安装所需的文件。
【讨论】:
以上是关于无法在 Android 设备上运行 Flutter 项目:ProcessException: gradlew异常退出的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 无法仅在物理 iOs 设备中构建和运行 iOS 应用程序
我的颤振项目无法在 Android 设备上运行,并且提到了一些许可证问题