Установка Flutter на Opensuse - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь установить Flutter. Я уже скачал SDK, настроил Android Studio и все необходимые инструменты. Проблема, с которой я сталкиваюсь, касается Android License Status Unknown. После прочтения вопроса здесь . Запуск flutter doctor -v дает мне следующую информацию:

[✓] Flutter (Channel stable, v1.9.1+hotfix.6, on Linux, locale en_US.UTF-8)
    • Flutter version 1.9.1+hotfix.6 at /home/zerocool/flutter/flutter
    • Framework revision 68587a0916 (8 weeks ago), 2019-09-13 19:46:58 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /home/zerocool/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /usr/local/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for
      detailed instructions.

[!] Android Studio (version 3.5)
    • Android Studio at /usr/local/android-studio
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] VS Code (version 1.39.1)
    • VS Code at /usr/share/code
    • Flutter extension version 3.6.0

[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

Следуя одному из комментариев из обсуждения github (ссылка выше), я решил скопировать все необходимые библиотеки вручную и обновить переменную CLASSPATH вСкрипт sdkmanager.sh. Вот файлы, которые я скачал, следуя советам здесь . Загруженные файлы:

-rw-r--r-- 1 zerocool users   69409 Oct 24  2009 activation.jar
-rw-r--r-- 1 zerocool users   27156 Dec 27  2018 istack-commons-runtime.jar
-rw-r--r-- 1 zerocool users  128076 Sep 12  2018 jaxb-api.jar
-rw-r--r-- 1 zerocool users  157148 May 18  2018 jaxb-core.jar
-rw-r--r-- 1 zerocool users 1017695 Jan  2  2019 jaxb-impl.jar
-rw-r--r-- 1 zerocool users  120605 Jan  2  2019 jaxb-jxc.jar
-rw-r--r-- 1 zerocool users  903197 Jan  2  2019 jaxb-xjc.jar

После изменения CLASSPATH у меня есть следующее:

CLASSPATH=$APP_HOME/lib/dvlib-26.0.0-dev.jar:$APP_HOME/lib/jimfs-1.1.jar:$APP_HOME/lib/jsr305-1.3.9.jar:$APP_HOME/lib/repository-26.0.0-dev.jar:$APP_HOME/lib/j2objc-annotations-1.1.jar:$APP_HOME/lib/layoutlib-api-26.0.0-dev.jar:$APP_HOME/lib/gson-2.3.jar:$APP_HOME/lib/httpcore-4.2.5.jar:$APP_HOME/lib/commons-logging-1.1.1.jar:$APP_HOME/lib/commons-compress-1.12.jar:$APP_HOME/lib/annotations-26.0.0-dev.jar:$APP_HOME/lib/error_prone_annotations-2.0.18.jar:$APP_HOME/lib/animal-sniffer-annotations-1.14.jar:$APP_HOME/lib/httpclient-4.2.6.jar:$APP_HOME/lib/commons-codec-1.6.jar:$APP_HOME/lib/common-26.0.0-dev.jar:$APP_HOME/lib/kxml2-2.3.0.jar:$APP_HOME/lib/httpmime-4.1.jar:$APP_HOME/lib/annotations-12.0.jar:$APP_HOME/lib/sdklib-26.0.0-dev.jar:$APP_HOME/lib/guava-22.0.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/activation.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/jaxb-api.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/jaxb-impll.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/jaxb-xjc.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/istack-commons-runtime.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/jaxb-core.jar:/home/zerocool/Android/Sdk/tools/jaxb_lib/jaxb-jxc.jar

Это не решило проблему, как ожидалось, и flutter doctor -v все еще жалуется налицензия. При попытке запустить sdkmanager --update или sdkmanager --android-licenses выдает NullPointerException, как указано ниже:

Warning: Found corrupted package.xml at /home/zerocool/Android/Sdk/build-tools/29.0.2/package.xml
Exception in thread "main" java.lang.NullPointerException
        at com.android.repository.impl.meta.SchemaModuleUtil.marshal(SchemaModuleUtil.java:265)
        at com.android.repository.impl.manager.LocalRepoLoaderImpl.writePackage(LocalRepoLoaderImpl.java:275)
        at com.android.repository.impl.manager.LocalRepoLoaderImpl.parsePackages(LocalRepoLoaderImpl.java:169)
        at com.android.repository.impl.manager.LocalRepoLoaderImpl.getPackages(LocalRepoLoaderImpl.java:124)
        at com.android.repository.impl.manager.RepoManagerImpl$LoadTask.run(RepoManagerImpl.java:518)
        at com.android.repository.api.RepoManager$DummyProgressRunner.runSyncWithProgress(RepoManager.java:397)
        at com.android.repository.impl.manager.RepoManagerImpl.load(RepoManagerImpl.java:365)
        at com.android.repository.api.RepoManager.loadSynchronously(RepoManager.java:290)
        at com.android.sdklib.repository.AndroidSdkHandler$RepoConfig.createRepoManager(AndroidSdkHandler.java:725)
        at com.android.sdklib.repository.AndroidSdkHandler.getSdkManager(AndroidSdkHandler.java:296)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.setSdkHandler(SdkManagerCliSettings.java:101)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.<init>(SdkManagerCli.java:95)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:74)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)

Не уверен, каким должен быть мой возможный ход после этого. Я не готов переустанавливать или удалять мой текущий JDK (боюсь, что что-либо, зависящее от JDK 11, может вылететь, если я его удалу). Некоторая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 06 ноября 2019

Java 1.8 в порядке. Не обновлять его. Вы запускаете это?

flutter doctor --android-licenses

Если не сделаете это и примите его условия.

Также присутствуйте на этом ответе: https://stackoverflow.com/a/49759126/10097848

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...