2
votes

Unity: Échec de la construction, impossible de mettre à jour le SDK

Dernière mise à jour Unity 2018.3
Outils et plates-formes SDK à jour selon SDK Manager.
Tentative de création et d'exécution des paramètres de build Android.

Après la mise à jour du SDK, Unity me demande toujours de mettre à jour le SDK en appuyant sur un bouton intégré au logiciel. Après avoir fait cela, il me dit:

Impossible de mettre à jour le SDK. Veuillez exécuter le gestionnaire de SDK manuellement pour faire assurez-vous de disposer du dernier ensemble d'outils et des plates-formes requises installée. Consultez le journal de la console pour plus de détails.

Quand je regarde la console, cela me dit:

CommandInvokationFailure: Unable to update the SDK. Please run the SDK Manager manually to make sure you have the latest set of tools and the required platforms installed. 
C:\Program Files (x86)\Android\android-sdk\tempToolsDir\bin\sdkmanager.bat --sdk_root=C:\Program Files (x86)\Android\android-sdk tools platform-tools "build-tools;28.0.3"

stderr[
Error: Failed to find package Files
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
]
stdout[

]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.Command.RunWithStdin (System.Diagnostics.ProcessStartInfo psi, System.String errorMsg, System.Collections.Generic.IEnumerable`1[T] input) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.AndroidSDKTools.RunAndroidSdkTool (System.String toolName, System.String arguments, System.Boolean updateCommand, System.String errorMsg, System.String toolsDir) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.AndroidSDKTools.UpdateSDK (UnityEditor.Android.AndroidJavaTools javaTools) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector.Update (UnityEditor.Android.AndroidSDKTools sdkTools, UnityEditor.Android.AndroidJavaTools javaTools, System.Version minVersion, UnityEditor.Android.PostProcessor.ProgressHandler onProgress) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.EnsureSDKComponentVersion (UnityEditor.Android.AndroidJavaTools javaTools, System.Version minVersion, UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK+SDKComponentDetector detector) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.Tasks.CheckAndroidSDK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <e1c3953b4cf040ddb1400046b1c34897>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

J'ai mis à jour le SDK manuellement, cela m'a également donné une erreur. Je l'ai corrigé en faisant cette astuce:
Can ' t update \ tools - Outils de ligne de commande du SDK Android pour Windows

Quoi qu'il en soit, j'ai exécuté Unity avec l'administrateur, j'ai exécuté le cmd avec l'administrateur pour les mises à jour manuelles et pourtant il ne sera toujours pas construit. Besoin d'aide, merci.

SCREENSHOT: Mise à jour du SDK Unity pour la version Android a>


0 commentaires

6 Réponses :


1
votes

Essayez d'installer le SDK Android dans un dossier auquel l'accès n'est pas nécessaire (quelque chose comme ). Cela a fonctionné pour moi.


1 commentaires

J'ai fait cela aussi. J'ai un dossier android-sdk dans mon C: et j'ai mis à jour le SDK avec cmd sdkmanager.bat --update . À l'heure actuelle, j'ai utilisé ce dossier au lieu du dossier Program Files (x86) pour les outils externes du SDK dans Unity et maintenant cela fonctionne. Pourtant, il ne fonctionnera pas et ne se construira pas sans un appareil Android connecté à l'ordinateur.



6
votes

J'ai eu un problème similaire en essayant de mettre à jour mon sdk Android et je l'ai résolu en exécutant le gestionnaire sdk manuellement. Dans ma console Unity Editor, il a imprimé un long contrat de licence avec des erreurs m'indiquant quoi faire.

Premièrement, s'il n'existe pas, créez un fichier repositories.cfg vide dans votre dossier .android. Pour moi, ce fichier se trouve à C:\Users\myuser\.android

Ensuite, exécutez le sdkmanager.bat comme ceci dans l'invite de commande (vos résultats et le chemin peuvent varier en fonction sur votre version Unity).

"C:\Program Files\Unity\Hub\Editor\2019.2.13f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\tools\bin\sdkmanager.bat"  "platforms;android-29"

J'ai alors pu appuyer sur y et accepter la licence.


0 commentaires

1
votes

Ce qui a fonctionné pour moi a été de localiser le dossier "sdkmanager.bat", de démarrer l'invite de commande avec les droits d'administrateur à partir de là et d'entrer la commande suivante:

.\sdkmanager "platform-tools" "platforms;android-29"


0 commentaires

1
votes

 4 Je suis confronté au même problème en essayant de mettre à jour mon SDK Android et en essayant de construire avec les deux outils JAVA SDK, cela résout mon problème (vérifier ref Img)

La compilation d'Android échoue [2019.3.6f1]: impossible de mettre à jour le SDK

CommandInvokationFailure: impossible de mettre à jour le SDK. Veuillez exécuter manuellement le gestionnaire de SDK pour vous assurer que vous disposez du dernier ensemble d'outils et des plates-formes requises installés. /Users/yogesh/Library/android-sdk/tempToolsDir\bin\sdkmanager.bat --sdk_root = / Users / yogesh / Library / Android / sdk tools platform-tools "build-tools; 28.0.3"


0 commentaires

0
votes

J'ai résolu ce problème en téléchargeant les outils du SDK Android, en téléchargeant la version du SDK que je voulais, puis en faisant glisser cette version à l'endroit où Unity stocke ses versions de SDK (si vous en avez téléchargé du tout).

J'ai changé mon emplacement par défaut pour Android, mais si vous trouvez votre dossier, les versions sont sous plates-formes et vous pouvez faire glisser la version souhaitée vers:

"C:\ProgramFiles\Unity\Hub\Editor\2020.1.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\platforms"

mais ce chemin changera en fonction de la version d'Unity que vous possédez ainsi que du lecteur sur lequel Unity est stocké. Assurez-vous que dans l'éditeur Unity sous "préférences> outils externes" vous avez "Outils Android SDK installés avec Unity" activé sur . En tout cas, bonne chance, j'ai passé des heures à comprendre ça.


0 commentaires

0
votes

J'ai rencontré ce problème et je l'ai résolu en définissant la variable d'environnement 'JAVA_HOME', qui était requise pour l'exécution de sdkmanager.bat d'Unity. Après cela, Unity a pu installer de manière transparente depuis Unity comme prévu.


0 commentaires