0
votes

Unity Gradle Build a échoué lors de la tentative de génération du projet en tant qu'APK (2019)

J'ai un très gros problème. J'ai perdu de nombreuses heures à essayer de créer un petit jeu que j'ai créé en tant qu'APK. J'ai basculé la plate-forme de construction sur Android, installé les outils JDK, NDK et SDK et cela devrait fonctionner. Mais au moment où l'unité est "Construire Gradle Prject" une erreur apparaît: 1 exception a été levée par les ouvriers: Voir la console pour plus de détails.

Et puis il y a 60 erreurs dans la console.

J'ai déjà essayé de réinstaller JDK, Android Studio, les outils apk dans Unity Hub et j'ai également réinstallé Unity lui-même (complètement).

Alors, voici l'erreur la plus importante:

CommandInvokationFailure: la génération de Gradle a échoué. D: /Unity/2019.2.3f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools \ OpenJDK \ Windows \ bin \ java.exe -classpath "D: \ Unity \ 2019.2.3f1 \ Editor \ Data \ PlaybackEngines \ AndroidPlayer \ Tools \ gradle \ lib \ gradle-launcher-5.1.1.jar "org.gradle.launcher.GradleMain" -Dorg.gradle.jvmargs = -Xmx4096m "" assembleRelease "

stderr [

ÉCHEC: la construction a échoué avec une exception.

  • Erreur: l'exécution de la tâche «: checkReleaseDuplicateClasses» a échoué.

    1 exception a été levée par les workers: java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class com.unity3d.ads.BuildConfig trouvé dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Classe en double com.unity3d.ads.IUnityAdsListener trouvée dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Classe en double com.unity3d.ads.UnityAds trouvée dans les modules classes.jar (: UnityAds: ) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d.ads.UnityAds $ FinishState trouvée dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d .ads.UnityAds $ PlacementState trouvé dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d.ads.UnityAds $ UnityAdsError trouvé dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d.ads.mediation.IUnityAdsExtendedListener trouvée dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d. ads.metada ta.InAppPurchaseMetaData trouvé dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d.ads.metadata.MediationMetaData trouvée dans les modules classes.jar (: UnityAds :) et classes. jar (: unity-ads :) Dupliquer la classe com.unity3d.ads.metadata.MetaData trouvée dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :) Dupliquer la classe com.unity3d.ads.metadata .PlayerMetaData trouvé dans les modules classes.jar (: UnityAds :) et classes.jar (: unity-ads :)

    Accédez à la documentation pour savoir comment corriger les erreurs de résolution des dépendances.

  • Essayez: Exécutez avec l'option --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --info ou --debug pour obtenir plus de sortie de journal. Exécutez avec --scan pour obtenir des informations complètes.

  • Obtenez plus d'aide sur https://help.gradle.org

BUILD FAILED in 14s] stdout [

Tâche: preBuild UP-TO-DATE Tâche: preReleaseBuild Tâche UP-TO-DATE: compileReleaseAidl NO-SOURCE Tâche: compileReleaseRenderscript NO-SOURCE Tâche: checkReleaseManifest Tâche UP-TO-DATE: generateReleaseBuildConfig Tâche UP-TO-DATE: prepareLintJar UP-TO -DATE Tâche: generateReleaseSources Tâche UP-TO-DATE: javaPreCompileRelease Tâche UP-TO-DATE: mainApkListPersistenceRelease Tâche UP-TO-DATE: generateReleaseResValues Tâche UP-TO-DATE: generateReleaseResources Tâche UP-TO-DATE: mergeReleaseResources UP-TO-DATE Tâche: createReleaseCompatibleScreenManifests UP-TO-DATE Tâche: processReleaseManifest Tâche: processReleaseResources Tâche: compileReleaseJavaWithJavac UP-TO-DATE Tâche: compileReleaseSources Tâche UP-TO-DATE: lintVitalRelease Tâche: mergeReleaseShaders UP-TO-DATE Tâche: compilation TO DATETâche : generateReleaseAssets Tâche UP-TO-DATE: mergeReleaseAssets Tâche: validateSigningRelease Tâche UP-TO-DATE: signatureConfigWriterRelease Tâche UP-TO-DATE: checkReleaseDuplicateClasses FAILED


5 commentaires

Pourriez-vous afficher votre dossier «Actifs-> Plugins-> Android»? Il semble que vous ayez deux bibliothèques Android (UnityAds et unity-ads) qui contiennent les mêmes classes.


Bien sûr, mais je ne trouve pas ce dossier ...


Pourrait décrire où je peux trouver le dossier?


Essayez simplement de trouver des éléments appelés "UnityAds" et "Unity-Ads" dans votre projet.


Oh d'accord ... Je viens de trouver un dossier "UnityAds" et aussi juste des fichiers "UnityAds" ... Pas de fichiers ou de dossiers "unity-ads" ....


3 Réponses :


0
votes

J'ai eu un problème similaire. J'ai constaté que j'avais activé l'option d'extensions d'annonces intégrées dans la section des annonces des services en plus d'avoir installé le package d'annonces. La désinstallation du package d'annonces dans le gestionnaire de packages a fait le travail pour moi


0 commentaires

0
votes

cela m'est arrivé et je viens de le résoudre en commentant les publicités d'unité sur les dépendances de gradle comme ça:

    //implementation(name: 'unity-ads', ext:'aar')


0 commentaires

0
votes

Je viens de le résoudre, en gros, l'erreur a commencé lorsque j'ai ajouté les actifs publicitaires du magasin d'actifs. ce que je ne savais pas que j'en avais installé à partir du gestionnaire de packages, car c'était en double, ce que vous devez faire est de supprimer le package du gestionnaire de packages, car si vous supprimez les dossiers téléchargés depuis le magasin d'actifs, vous pouvez ' t implémentez l'auditeur dans votre script.


0 commentaires