【问题标题】:Flutter unable to find android-sdkFlutter 找不到 android-sdk
【发布时间】:2021-10-06 11:37:31
【问题描述】:

我在 Ubuntu 21.04 上,我从这里下载命令行工具:https://developer.android.com/studio#downloads

我正在按照本指南在没有 Android Studio 的情况下设置 Flutter:https://dev.to/ejgamer21/install-flutter-without-android-studio-58bi

我将它提取到我的主目录中。我也做过:

sdkmanager "platform-tools"
sdkmanager "build-tools;28.0.3"
sdkmanger "platforms;android-29"

我的目录看起来像:

android-sdk/
           build-tools/
           cmdline-tools/
           emulator/
           licenses/
           patcher/
           platforms/
           platform-tools/
           tools/

我还将内容从cmdline-tools 移动到cmdline-tools/tools,并遵循以下答案:https://stackoverflow.com/a/65262939/13725696

我做了flutter config --android-sdk /home/[username]/android-sdk/,但我仍然在运行flutter doctor时得到这个:

[✓] Flutter (Channel stable, 2.2.3, on Linux, locale en_IN)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for
      more details.
[✗] Chrome - develop for the web (Cannot find Chrome executable at
    google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[!] Android Studio (not installed)
[!] Connected device
    ! No devices available

编辑:我刚刚注意到:

    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.

我做了flutter doctor --add-licenses,但我收到了这个:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 5 more

【问题讨论】:

    标签: android flutter android-studio


    【解决方案1】:

    必须像这样添加环境变量:

    export ANDROID_SDK_ROOT=/home/[username]/android-sdk/
    export PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
    export PATH=$PATH:$JAVA_HOME/bin
    

    到主目录中的~/.bash_profile 并重新启动。

    【讨论】:

      猜你喜欢
      • 2018-08-16
      • 2023-03-31
      • 2020-10-31
      • 2020-08-05
      • 1970-01-01
      • 1970-01-01
      • 2022-06-11
      • 2019-06-27
      • 2020-08-27
      相关资源
      最近更新 更多