1
resposta

[Bug] nao estou conseguindo aceitar a licensa do sdk

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.19.6, on Microsoft Windows [versÆo 10.0.17763.107], locale pt-BR)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2021.1)
[√] VS Code (version 1.86.2)
[√] Connected device (2 available)
[√] Network resources

! Doctor found issues in 2 categories.

C:\Users\W10>flutter doctor --android-licenses
Erro: ocorreu LinkageError ao carregar a classe principal com.android.sdklib.tool.sdkmanager.SdkManagerCli
        java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Android sdkmanager tool was found, but failed to run
(C:\Users\W10\AppData\Local\Android\Sdk\cmdline-tools\latest\bin\sdkmanager.bat): "exited code 1".
It appears the version of the Java binary used (C:\Program Files\Android\Android Studio\jre\bin\java) is too out-of-date
and is incompatible with the Android sdkmanager tool.
If the Java binary came bundled with Android Studio, consider updating your installation of Android studio.
Alternatively, you can uninstall the Android SDK command-line tools and install an earlier version.
1 resposta

Oii Kauan, tudo bem?

O erro que você encontrou diz que a versão do Java Runtime Environment (JRE) que está sendo usada é incompatível com a versão necessária para executar o sdkmanager do Android. O erro específico menciona que a classe principal do sdkmanager foi compilada com uma versão mais recente do Java (class file version 61.0), enquanto a versão do Java em uso reconhece apenas até a versão 55.0.

Pra resolver o problema precisará fazer algumas coisinhas:

  1. Atualizar o Java Runtime Environment (JRE):

    • Veja qual versão do Java tá instalada no seu sistema. Você pode fazer isso abrindo o terminal e digitando java -version.
    • Se a versão for inferior à necessária (Java 17 para class file version 61.0), você precisará atualizar o Java. Você pode baixar a versão mais recente do Java no site oficial da Oracle.
  2. Reinstalar as ferramentas de linha de comando do Android SDK:

    • Às vezes, só reinstalar as ferramentas de linha de comando pode resolver o problema. Você pode fazer isso acessando o diretório onde o Android SDK está instalado, geralmente em C:\Users\SEUNOMEDEUSUARIO\AppData\Local\Android\Sdk.
    • Exclua a pasta cmdline-tools e reinstale-a usando o Android Studio. -Aqui tem um tutorial muito bom de como fazer isso.
    • Depois de atualizar o Java e/ou reinstalar as cmdline-tools, abra o terminal e tente executar novamente flutter doctor --android-licenses para aceitar as licenças do SDK.
  3. Verificar se o Flutter tá configurado corretamente:

    • Depois dessas alterações, é uma boa executar flutter doctor de novo pra garantir que todas as dependências estão corretamente configuradas.

Problemas de compatibilidade de versão podem ser um pouco complicados, então pode ser necessário experimentar algumas dessas soluções para encontrar a que funciona para você.

Um abraço e bons estudos.