web-dev-qa-db-fra.com

Comment réparer le «statut de licence Android inconnu» en flutter

mon médecin flutter -v résultat:

[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version 10.0.17134.472], locale fa-IR)
    • Flutter version 1.0.0 at C:\Android\flutter
    • Framework revision 5391447fae (6 weeks ago), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at c:\Android\android-sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform Android-28, build-tools 27.0.3
    • Android_HOME = C:\Android\android-sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\Java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    X Android license status unknown.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 29.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] Connected device (1 available)
    • HUAWEI CUN U29 • CCMBBCB6C0153603 • Android-arm • Android 5.1 (API 22)

et lors de l'exécution:

flutter doctor --Android-licenses

obtenez-moi ce résultat:

A newer version of the Android SDK is required. To update, run:
c:\Android\android-sdk\tools\bin\sdkmanager --update 

et lors de la mise à jour, sdkmanager me montre cette erreur:

 Exception in thread "main" Java.lang.NoSuchFieldError: FN_AAPT2
        at com.Android.sdklib.BuildToolInfo.<init>(BuildToolInfo.Java:362)

Comment puis-je résoudre ce défi?

5
Semac

J'ai résolu pb (jdk11 sur Win10 au début) en suivant les étapes Nitesh (merci) mais avec quelques changements dus au comportement étrange de win10 (je sais ...).
Pour objectiver, créez deux variables d'environnement avec les assistants win10:
Je frappe:
TEST1 C:\Users\%username%\XXX TEST2 %USERPROFILE%\YYY
Apparaît correctement dans l'assistant:
TEST1 C:\Users\pirla\XXX TEST2 C:\Users\pirla\YYY
Mais dans une fenêtre de commande dos, cela arrive à SYSTEM dans le premier cas malgré un nom d'utilisateur correct:
C:\Users\pirla>echo %username% pirla C:\Users\pirla>set TEST TEST1=C:\Users\SYSTEM\XXX TEST2=C:\Users\pirla\YYYY

Alors remplacez
C:\Users\%username%\
par
%USERPROFILE%\
et tout va bien. (au fait, si vous avez aussi un JRE_HOME, changez-le aussi)

HTH

1
pirela

Utilisez flutter_console au lieu de CMD

flutter doctor --Android-licenses
0
Jay Nirmal

Cela a fonctionné pour moi:

  1. ouvrir Android Gestionnaire de SDK de Studio
  2. allez dans l'onglet Android SDK
  3. sous SDK Tools, décochez Masquer les packages obsolètes
  4. installer Android SDK Tools (obsolète)
0
Ahmed Saad

Maintenant, ce problème avec la licence a à voir avec la version Java kit de développement (JDK). Pour certaines raisons, si vous n'utilisez pas JDK 8 ou inférieur, vous aurez malheureusement des problèmes de licence. désinstaller la version actuelle et installer JDK 8 ou ci-dessous. Consultez le lien ci-dessous et suivez attentivement la conversation. https://github.com/flutter/flutter/issues/16025

0
Dan