【发布时间】:2020-11-28 07:56:37
【问题描述】:
我已经克隆了the flutter repo 并安装了Android SDK command-line tools,并将它们设置在$HOME/Android 中。然后我通过将$ANDROID_HOME 设置为$HOME/Android,使flutter 知道SDK 安装。事情似乎已经解决了,<path-to-flutter> doctor 发现
Android SDK- 我的 Java JDK 8 安装(
Ubuntu 18.04上的openjdk-8-jdk包),以及 - 已连接的带有 USB 调试功能的 Android 手机
我现在正在尝试按照test-run instructions 在命令行上构建第一个应用程序。 <path-to-flutter> create myapp 工作并产生一个myapp 目录。然后我尝试运行生成的入门应用程序:
cd myapp
~/myapp$ ANDROID_HOME=~/Android JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 <path-to-flutter> run
这会导致以下错误:
Launching lib/main.dart on ONEPLUS A6013 in debug mode...
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> Kotlin could not find the required JDK tools in the Java installation '/usr/lib/jvm/java-8-openjdk-amd64/jre' used by Gradle. Make sure Gradle is running on a JDK, not JRE.
* 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 10s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 11.0s
Exception: Gradle task assembleDebug failed with exit code 1
我已经看到这个问题discussedbefore,但这些回复似乎都没有解决这个问题(至少在我的情况下)。从命令中可以看出我正在导出正确的$JAVA_HOME,而且,运行
./android/gradlew build
在myapp 目录中确实有效:
~/myapp$ ./android/gradlew build
> Task :buildEnvironment
------------------------------------------------------------
Root project
------------------------------------------------------------
classpath
No dependencies
A web-based, searchable dependency report is available by adding the --scan option.
BUILD SUCCESSFUL in 319ms
1 actionable task: 1 executed
所以这似乎特定于flutter 本身,而不是gradle。
【问题讨论】: