j'essaie d'intégrer Google Sign in, dans mon application, j'ai ajouté ces bibliothèques:
compile 'com.google.Android.gms:play-services-identity:8.1.0'
compile 'com.google.Android.gms:play-services-plus:8.1.0'
ajoutez également ceci au projet build gradle:
classpath 'com.google.gms:google-services:1.4.0-beta3'
ajouter également un plugin à l'appli build gradle:
apply plugin: 'com.google.gms.google-services'
puis ajouter les autorisations requises, mais lorsque j'essaie d'exécuter mon application, j'ai reçu cette erreur:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
com.Android.build.transform.api.TransformException: com.Android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0\bin\Java.exe'' finished with non-zero exit value 2
Essayez d’ajouter multiDexEnabled true
à votre application fichier build.gradle .
defaultConfig {
multiDexEnabled true
}
EDIT:
Essayez Steve's réponse d'abord. Si cela se produit fréquemment ou si la première étape n'a pas aidé, multiDexEnabled
pourrait vous aider. Pour ceux qui aiment creuser plus profondément, voici quelques problèmes similaires (avec plus de réponses):
: app: dexDebug ExecException terminé avec une valeur de sortie non nulle 2
Une autre chose à surveiller est que vous n'utilisez pas
compile 'com.google.Android.gms:play-services:8.3.0'
Cela importera TOUS les services de jeu, et il ne vous faudra qu'un peu de monde pour dépasser la limite de la méthode 65535 pour un APK dex unique.
Toujours spécifier uniquement les services dont vous avez besoin, par exemple:
compile 'com.google.Android.gms:play-services-identity:8.3.0'
compile 'com.google.Android.gms:play-services-plus:8.3.0'
compile 'com.google.Android.gms:play-services-gcm:8.3.0'
Il me suffisait de nettoyer mon projet et ensuite, il a été construit avec succès.
Cette erreur a commencé à apparaître lorsque j'ai ajouté de nouvelles méthodes à mon projet. Je savais que j'étais loin de la limite de la méthode des 65 000 et je ne souhaitais pas activer le support multiDex pour mon projet si je pouvais l'aider.
Je l'ai résolu en augmentant la mémoire disponible pour la tâche :app:transformClassesForDexForDebug
. Je l'ai fait en spécifiant javaMaxHeapSize dans gradle.build
.
gradle.build
Android {
...
dexOptions {
javaMaxHeapSize "4g" //specify the heap size for the dex process
}
}
J'ai essayé cela après n'avoir eu aucun succès avec d'autres solutions communes à ce problème:
clean
/app/build
et /build
de mon projetErreur
Erreur: L'exécution a échoué pour la tâche> ': app: transformClassesWithDexForDebug'. com.Android.build.api.transform.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: processus 'commande' /Library/Java/JavaVirtualMachines/jdk1.8.0_45. jdk/Sommaire/Accueil/bin/Java '' termine avec une valeur de sortie non nulle 1
Remarque: augmenter la mémoire disponible pour la tâche DEX peut entraîner des problèmes de performances sur les systèmes disposant de moins de mémoire - link .
J'ai également rencontré un problème similaire dans Android Studio 1.5.1 et Gradle 1.5.0. Je dois juste supprimer les dépendances indésirables des bibliothèques qui peuvent être automatiquement ajoutées au fichier build.gradle de mon application. L'un d'entre eux était: compiler 'com.google.Android.gms: play-services: 8.4.0'. Donc, pour les meilleures pratiques, essayez d’inclure uniquement une bibliothèque de services de lecture spécifique, comme pour les annonces uniquement.
dependencies {
compile 'com.google.Android.gms:play-services-ads:8.4.0'
}
Bien que
defaultConfig {
multiDexEnabled true
}
cela résoudra également le problème, mais fournit beaucoup de notes dans Gradle Console, ce qui rend difficile la recherche d'autres problèmes réels pendant la construction.
vous pouvez voir la documentation de Android
Android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.Android.support:multidex:1.0.0'
}
Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.example.Android.multidex.myapplication">
<application
...
Android:name="Android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
Dans mon cas, modifiez buildToolsVersion de "24" à "23.0.2" pour résoudre le problème.
J'utilise AS 1.5.1 et j'ai rencontré le même problème. Mais nettoyer le projet ne se fera pas, alors j'ai essayé quelque chose.
Cela a fonctionné avec moi, alors j'espère que cela aide.
Dans mon cas, l’exception s’est produite car toutes les extensions du service Google Play n’ont pas la même version, comme suit:
compile 'com.google.Android.gms:play-services-plus:9.8.0'
compile 'com.google.Android.gms:play-services-appinvite:9.8.0'
compile 'com.google.Android.gms:play-services-analytics:8.3.0'
Cela a fonctionné quand j'ai changé ceci en
compile 'com.google.Android.gms:play-services-plus:9.8.0'
compile 'com.google.Android.gms:play-services-appinvite:9.8.0'
compile 'com.google.Android.gms:play-services-analytics:9.8.0'
Commencez par supprimer les fichiers intermédiaires. VOTRE DOSSIER APP\app\build\intermediates OR Nettoyez votre projet, puis reconstruisez-le.
Ajouter
multiDexEnabled true
c'est à dire.
defaultConfig {
multiDexEnabled true
}
C'est un travail pour moi
J'ai eu le même problème quand je suis revenu à l'ancienne version via git et que cette version avait la bibliothèque précédente .jar d'une tierce partie api, et pour une raison quelconque, il est apparu que les deux fichiers jar du même sdk, des versions différentes se trouvaient dans le dossier/libs .
J'ai résolu ce problème en changeant pour utiliser le dernier buildToolsVersion
name__
Android {
//...
buildToolsVersion '26.0.2' // change from '23.0.2'
//...
}
la réponse en écriture est dans gradle put defaultConfig {multiDexEnabled true} then nom de l'application dans le manifeste Android: name = "Android.support.multidex.MultiDexApplication" souhaite que cette réponse soit très sensible à Quelqu'un
J'ai résolu ce problème en ajoutant: Dans build.gradle
:
defaultConfig {
multiDexEnabled true
}
dans local.properties
,
org.gradle.jvmargs=-XX\:MaxHeapSize\=512m -Xmx512m
mentionnez la dépendance:
compile 'com.Android.support:multidex:1.0.1'
Nettoyer et reconstruire.
ce code a résolu le problème
defaultConfig {
multiDexEnabled true
}
Pour la meilleure façon de mettre en œuvre Google Sign in, visitez: Google sign in Android
Essayez aussi
dexOptions {
javaMaxHeapSize "4g"
}
Conservez également le même numéro de version pour différents services.
Si les différentes dépendances ont un même fichier jar, cette erreur de génération est également provoquée.
Par exemple:
compile('com.a.b:library1');
compile('com.c.d:library2');
Si "library1" et "library2" ont un même fichier jar nommé xxx.jar
, cela provoquera une telle erreur.
J'ai changé quelques pngs et le numéro de build dans le classement et maintenant je comprends cela. Aucune quantité de nettoyage et de redémarrage n'a aidé. La désactivation d'Instant Run l'a corrigé pour moi. YMMV
Si vous utilisez la dernière version de gradle, c.-à-d. classpath 'com.Android.tools.build:gradle:1.5.0' and classpath 'com.google.gms:google-services:1.4.0-beta3'
, essayez de mettre à jour le dernier référentiel de support à partir du gestionnaire de SDK et régénérez l'ensemble du projet.
Si vous avez besoin d'ajouter cette référence pour cordova plugin, ajoutez la ligne suivante dans votre fichier plugin.xml.
<framework src="com.Android.support:support-v4:+" />
J'avais la même option et dès que j'ai désactivé Instant Run, cela fonctionnait correctement sur mon périphérique API16, mais sur le périphérique API24, cela fonctionnait parfaitement avec Instant Run.
J'espère que cela aide quelqu'un qui a le même problème
Incase 'Instant Run' est activé, puis désactivez-le simplement.
Cela m'est arrivé à cause d'une fuite de mémoire Eclipse. Je devais redémarrer mon ordinateur.
Cliquez simplement sur Construire - Modifier les types de construction - Onglet Propriétés - Version du type de construction et rétrogradez-le à la version 23.0.1. Cliquez sur OK. Cela fonctionne pour Android studio 1.5. Cela a fonctionné pour moi.