De trop nombreuses références de champ: 70613; max est de 65536
Mon projet utilise ces plugins:
- OneSignal
- GooglePlayServices
- Ajuster
- Google Analytics
- L'unité PEI
- Facebook SDK
Ces plugins sont utilisés dans presque tous les projets.
Mais je suis sur le terrain nombre de références
C'est mon .raa de la liste de fichiers
Que dois-je faire pour diminuer le nombre de références?
lors de vos fichiers du projet est augmenté ainsi, android studio de donner ce type d'erreur, et puis android studio obligatoire certains plugin et à l'aide de ce plugin pour android studio vous fournir en mesure de stocker plus de fichiers dans votre projet. et projet android vous fournir seulement stocker 65536 fichiers sans ce plugin. cliquez pour voir votre solution : stackoverflow.com/questions/42582850/...
OriginalL'auteur Kerem Bekman | 2017-03-03
Vous devez vous connecter pour publier un commentaire.
Vous avez tellement de plugins avec de nombreuses fonctions/champs. Il y a une limite lors de la construction de cette Unité de l'Éditeur et que vous avez atteint cette limite.
Pour diminuer le nombre de références, vous devez supprimer certains de ces plugins, mais je suis sûr que vous en avez besoin et de suppression ne peut pas être la solution la plus appropriée dans ce cas.
La seulement façon de contourner ce problème et de construire pour Android en ce moment est de l'exportation le Projet en tant que Projet Android puis de le construire avec Android Studio. Cela supprime la référence de la limite imposée par l'Unité de l'Éditeur.
MODIFIER
J'ai oublié de mentionner que vous avez pour permettre multidex après l'exportation. Depuis beaucoup de gens passent par ce problème quotidien, j'ai décidé d'ajouter une instruction approfondie sur la façon de résoudre ce problème par l'exportation hors et aussi comment faire pour résoudre le sans l'exporter.
CORRIGÉ PAR L'EXPORTATION DU PROJET
1A.L'exportation de l'Unité Projet Projet Android.
1B.L'importation dans Android Studio:
Si vous obtenez le grade d'erreur lors de l'importation dans Android Studio comme celui ci-dessous:
Dans les "dépendances" bloc qui est dans le "buildscript" bloc dans le construire.gradle fichier, modifiez:
à
Si vous exportez le Projet et obtiens toujours la même erreur, vous devez activer manuellement multidex. Ci-dessous est une forme simplifiée de l'étape à suivre à partir de Google doc qui sera montré à vous dans l'erreur:
2.Ajouter
android:name="android.support.multidex.MultiDexApplication" >
à l'application balise dans le AndroidManifest.xml fichier.
3.Ajouter
compile 'com.android.support:multidex:1.0.1'
à la "dépendances" bloc dans la construire.gradle fichier.4.Ajouter
multiDexEnabled true
à la "defaultconfig.ini.php" bloc qui est dans le "android" bloc dans le construire.gradle fichier.Construire APK et voir si cela fonctionne. Si le nombre de références d'erreur a disparu, arrêtez-vous ici.
5.L'obtention d'un GC frais généraux d'exception comme celle ci-dessous?
Augmenter la taille du segment de mémoire qui sera utilisée lors de l'exécution de dex opération. À partir de ce solution, ajouter le texte suivant à la "android" bloc dans le construire.gradle fichier:
FIXER SANS EXPORTER LE PROJET
Doit avoir une Unité 5.5 et au-dessus pour ce faire:
1.Aller à
<UnityInstallationDirecory>\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates
, Copiez lemainTemplate.gradle
fichier sur votre<ProjectName>Assets\Plugins\Android
dossier.2.Aller à
<UnityInstallationDirecory>\Editor\Data\PlaybackEngines\AndroidPlayer\Apk
, Copiez leAndroidManifest.xml
fichier sur votre<ProjectName>Assets\Plugins\Android
3.Ouvrez les deux
mainTemplate.gradle
etAndroidManifest.xml
fichier que vous venez de copier avec Visual Studio, puis faire la modification de la CORRIGÉ PAR L'EXPORTATION du PROJET instructions ci-dessus. Skip/Ignorer l'étape #1A et #1B. Juste faire les étapes de #2 à #5. C'est tout.Cette est ce que le final
mainTemplate.gradle
devrait ressembler et cette est ce que le finalAndroidManifest.xml
devrait ressembler. C'est seulement à des fins de référence. Je suggère vous n'utilisez pas de mine mais au lieu de suivre le copier les étapes ci-dessus pour créer le vôtre, car l'avenir de l'Unité versions peuvent venir avec des fichiers différents. Vous voulez vous assurer que vous utilisez la dernière ou vous pouvez avoir des problèmes de construction.4.Construire APK et voir si cela fonctionne:
--
Si le nombre de références d'erreur a disparu, arrêtez-vous ici:
5.Une erreur comme celle ci-dessous?
Juste signe l'apk de la Paramètres de Publication dans le Paramètres de construction de la. Vous pouvez créer un nouveau fichier de stockage des clés ou en utiliser une existante.
6.Une autre erreur comme ci-dessous?
Supprimer
android:debuggable="true">
de laAndroidManifest.xml
fichier.Si cette non solution d'export ne fonctionne pas pour vous, alors vous avez à
utiliser la solution d'export.
bonjour, merci pour votre réponse, quand j'ai fait cela, quand j'ai installer le fichier apk, en touchant l'arrière du bouton, l'application minimisée et ne keydown.échapper simultanément. savez-vous pourquoi il réduit mon jeu?
Merci pour la réponse détaillée! Je upvoted il y a quelques jours 🙂 C'était vraiment facile à suivre. Mais j'ai deux questions maintenant. 1. Puis-je mettre une autre version de Gradle autres que par défaut 2.1.0 dans l'Unité de mainTemplate.gradle, tout comme dans Android Studio? 2. Comment puis-je mettre à jour google-services plugin? J'ai déjà mis le dossier sdk correctement dans l'Unité, j'ai mis à jour vers la dernière version d'Android Studio, mais je reçois le conflit de version d'erreur lors de la construction avec le plugin de configuration dans mainTemplate.gradle..
1.Je ne sais pas, mais lui donner un essai. Notez que l'Unité détermine gradle version qu'ils soutiennent. Si ils ne prennent pas en charge les autres, cela ne marchera pas ou vous allez courir dans les questions de la construction de votre projet. 2.Si vous obtenez des conflits, découvrez unité-jar-resolver. Un nouveau conflit, de créer une nouvelle question. Je suis sûr que beaucoup de gens là-bas peut vous aider à
Suivez les instructions. C'est à
<UnityInstallationDirecory>\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates
. Vous devez vous remplacerUnityInstallationDirecory
avec votre Unité chemin d'installation sur votre chemin. Vous avez à Google que depuis que je ne suis pas à l'aide de Mac. Le reste du chemin d'accès doit être là. Il est probable/Applications/Unity
sur Mac.OriginalL'auteur Programmer
De l'OMI, l'on a accepté La réponse n'est pas correcte (ou seulement partiellement correcte). L'exportation d'un Android studio ne sera pas "comme par magie" résoudre ce problème. Aussi, de par mon expérience, la exporté Android studio de projet n'a pas toujours construire tout de suite et vous devez les corriger beaucoup de choses avant que vous pouvez réellement construire.
Vous utilisez beaucoup de plugins et donc vous fait face à une Android limitation de ne pas être en mesure de référence de plus de 64 ko méthodes.
Il ya quelques choses que vous pouvez essayer de résoudre ce problème:
En commençant par l'Unité 2017.1 (je pense), vous pouvez ajouter un fichier de build gradle de Paramètres du Lecteur. Dans ce fichier, en vertu de "dépendances", vous pouvez ajouter une dépendance que vous aimez (comme appcompat, etc). je pense que cela doit fonctionner.
Merci encore de m'avoir permis de réaliser l'Unité Gradle du potentiel 🙂
Comment puis-je utiliser ProGuard au sein de l'Unité? Quelle est la procédure d'installation?
OriginalL'auteur lysergic-acid