Je déplace mes projets d'Eclipse vers Android Studio. Lors de l'exécution de l'une de mes applications, l'erreur suivante apparaît. Impossible de trouver une solution. J'ai également activé multidex.
Erreur: L'exécution a échoué pour la tâche ': app: transformClassesWithDexForDebug' . com.Android.build.api.transform.TransformException: Java.lang.RuntimeException: com.Android.ide.common.process.ProcessException: Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: la commande de processus 'C:\Program Files\Java\jdk1.7.0_79\bin\Java.exe' 's'est terminée avec une valeur de sortie non nulle 1
aussi mon dossier est en dessous
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.myapp"
minSdkVersion 9
targetSdkVersion 21
multiDexEnabled true
}buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard- Android.txt'), 'proguard-project.txt', 'proguard-google-api-client.txt'
}
}
}
dependencies {
compile 'com.Android.support:support-v4:23.4.0'
compile 'com.google.Android.gms:play-services:+'
compile 'com.google.http-client:google-http-client-gson:1.20.0'
compile 'com.google.code.gson:gson:2.1'
compile 'com.Android.support:appcompat-v7:23.4.0'
compile files('libs/activation.jar')
compile files('libs/additionnal.jar')
compile files('libs/Android-support-v7-cardview.jar')
compile files('libs/Android-support-v7-recyclerview.jar')
compile files('libs/commons-logging-1.1.1.jar')
compile 'com.google.api-client:google-api-client:1.18.0-rc'
compile 'com.google.api-client:google-api-client-Android:1.18.0-rc'
compile 'com.google.api-client:google-api-client-appengine:1.18.0-rc'
compile 'com.google.http-client:google-http-client:1.18.0-rc'
compile 'com.google.http-client:google-http-client-Android:1.18.0-rc'
compile 'com.google.http-client:google-http-client-appengine:1.18.0-rc'
compile 'com.google.oauth-client:google-oauth-client:1.18.0-rc'
compile 'com.google.oauth-client:google-oauth-client-appengine:1.18.0-rc'
compile files('libs/google-api-client-gson-1.18.0-rc.jar')
compile files('libs/google-api-client-jackson2-1.18.0-rc.jar')
compile files('libs/google-api-client-Java6-1.18.0-rc.jar')
compile files('libs/google-api-client-servlet-1.18.0-rc.jar')
compile files('libs/google-http-client-jackson2-1.18.0-rc.jar')
compile files('libs/google-http-client-jdo-1.18.0-rc.jar')
compile files('libs/google-oauth-client-Java6-1.18.0-rc.jar')
compile files('libs/google-oauth-client-jetty-1.18.0-rc.jar')
compile files('libs/google-oauth-client-servlet-1.18.0-rc.jar')
compile files('libs/GraphView-4.0.1.jar')
compile files('libs/httpclient-4.0.1.jar')
compile files('libs/httpcore-4.0.1.jar')
compile files('libs/jackson-core-2.1.3.jar')
compile files('libs/jetty-6.1.26.jar')
compile files('libs/jetty-util-6.1.26.jar')
compile files('libs/jsr305-1.3.9.jar')
compile files('libs/jxl.jar')
compile files('libs/mail.jar')
compile files('libs/transaction-api-1.1.jar')
}
Erreur: L'exécution a échoué pour la tâche ': app: transformClassesWithDexForDebug' . com.Android.build.api.transform.TransformException: Java.lang.RuntimeException: com.Android.ide.common.process.ProcessException: Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Commande de processus 'C:\Program Files\Java\jdk1.7.0_79\bin\Java.exe' 's'est terminé avec valeur de sortie non nulle 1
L'erreur supérieure est due à beaucoup de raisons. Je peux donc expliquer pourquoi cette erreur se produit et comment la résoudre.
REASON 1: Dupliquer le nom du fichier de classe
SOLUTION :
lors de la refactorisation de certains de vos fichiers de classe en un projet de bibliothèque. et cette fois-ci vous écrivez le nom du fichier de classe Alors, vérifiez bien que vous n’avez pas de noms en double
REASON 2: Lorsque vous avez beaucoup de mémoire cache
SOLUTION :
Parfois, si vous avez beaucoup de mémoire cache, cette erreur se produit alors résolvez-la . Allez dans File/Invalidate caches / Restart
puis sélectionnez Invalidate and Restart
, votre mémoire sera vidée.
REASON 3: Lorsqu'il y a un bogue interne ou une version bêta utilisée pour revenir à la version stable.
SOLUTION :
La solution est simple, allez dans le menu Générer et cliquez sur Clean Project
et après le nettoyage, cliquez sur Rebuild Project
.
REASON 4: Lorsque vous avez la mémoire du système La configuration est faible.
SOLUTION :
ouvrez le Gestionnaire des tâches et arrêtez les autres applications qui ne sont pas les plus utilisées à ce moment afin de libérer de l'espace et de résoudre OutOfMemory
.
RAISON 5: Le problème est que le nombre de méthodes dépasse 65K.
SOLUTION :
ouvrez votre fichier Project build.gradle
add
defaultConfig {
...
multiDexEnabled true
}
et dans les dépendances ajouter en dessous de la ligne.
dependencies
{
compile 'com.Android.support:multidex:1.0.0'
}
Vérifiez si multidex est activé ou non dans votre build.gradle (niveau de l'application) sous dependencies.if pas placer comme ci-dessous
dependecies{
multidexEnabled true
}
Vérifiez votre gradle.properties (niveau de l'application) .si vous voyez le code ci-dessous
#org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
enlever # avant la ligne, alors ça devrait être comme ça
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
Cela peut être dû à la raison suivante:
l'un des fichiers jar du projet utilisait une version plus ancienne des services de Google Play.
utilisez multiDexEnabled true
dans defaultconfig
Soyez spécifique avec les classes que vous ajoutez dans les dépendances. comme
compiler 'com.google.Android.gms: play-services-maps: 8.4.0'
Pas comme compiler 'com.google.Android.gms:play-services:+'
S'il vous plaît Ajoutez ceci dans votre fichier gradle
Android {
...
defaultConfig {
...
multiDexEnabled true
}
}
ET aussi ajouter la dépendance ci-dessous dans votre diplôme
dependencies {
compile 'com.Android.support:multidex:1.0.1'
}
OU une autre option serait: Dans votre fichier manifeste, ajoutez le package MultiDexApplication de la bibliothèque de support multidex dans la balise application.
<?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>
j'ai essayé celui-ci pour plus de projets et cela a fonctionné pour moi. notez que cette solution peut configurer votre application pour multidex:
Android {
compileSdkVersion 25
buildToolsVersion "25.0.1"
defaultConfig {
...
minSdkVersion 9
targetSdkVersion 25
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}}
dependencies {
compile 'com.Android.support:support-v4:25.1.0'
compile 'com.google.Android.gms:play-services:8.3.0'
...
}
Ou vous pouvez essayer ceci -
Extend your Application class with MultiDexApplication instead of Application !
J'ai tout essayé mais cette erreur ne sera toujours pas résolue tant que je n'aurai pas changé de version de JDK .
Ma version du JDK était 7, et après que je l'ai changée en 8, l'erreur est partie, vous pouvez l'essayer si rien d'autre ne fonctionne.
j'ai essayé celui-ci et cela a fonctionné pour moi . espérons que cela fonctionne pour les autres aussi.
Ici, j'ai joint une capture d'écran pour expliquer les choses . Suivez ces étapes
heureux d'aider.
merci.
Merci @Ironman pour sa réponse complète, mais je devrais ajouter ma solution en fonction de ce que j'ai vécu face à ce problème.
Dans build.gradle (module: app):
compile 'com.Android.support:multidex:1.0.1'
...
dexOptions {
javaMaxHeapSize "4g"
}
...
defaultConfig {
multiDexEnabled true
}
Placez également les éléments suivants dans le fichier gradle.properties:
org.gradle.jvmargs=-Xmx4096m -XX\:MaxPermSize\=512m -XX\:+HeapDumpOnOutOfMemoryError -Dfile.encoding\=UTF-8
Je devrais mentionner que ces chiffres concernent la configuration de mon ordinateur portable (MacBook Pro avec 16 Go de RAM). Veuillez donc les modifier en tant que configuration.
Nom dupliqué Classes
comme
class BackGroundTask extends AsyncTask<String, Void, Void> {
et
class BackgroundTask extends AsyncTask<String, Void, Void> {
Une solution temporaire consiste à placer le code ci-dessous dans le module build.gradle
:
Android {
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
}
Et synchroniser le projet.
Dans mon cas, j'avais 2 projets A
et B
. Et je suis passé à gradle 4.5
.
A
dépendait de B
mais les deux avaient des références de mon 3rd party jar
Je recevais cette erreur
com.Android.tools.r8.errors.CompilationError: Type de programme déjà present: com.mnox.webservice.globals.WebServiceLightErrorHashCode
Type de programme déjà présent: com.mnox.webservice.globals.WebServiceLightErrorHashCode
Réparer
api
dans le fichier B
build.gradle afin qu'il soit mentionné dans A
.L'autre cause fondamentale peut être si vous avez mis à niveau vers gradle 4.5
et utilisé implementation
au lieu de api
dans votre commun build.gradle
Pour moi, la solution a été de supprimer le dossier du cache Gradle (.gradle/caches) du répertoire de base et de le reconstruire. Peut-être en raison d'un problème de chargement de classe en double.
Capture d'écran de mes paramètres:
Merci à ce post .
Il suffit de désactiver l'exécution instantanée dans vos paramètres. Vous pouvez facilement rechercher le mot-clé "instantané" comme je l'ai montré et il basculerait vers la fenêtre souhaitée.
Pour Ionic 4 Just
$ cordova clean
M'a aidé alors à courir
$ ionic cordova run Android --device
Il convient de mentionner que si d’autres suggèrent de tempérer les fichiers, j’ai pu résoudre ce problème en installant un plugin manquant (ionic framework).
Espérons que cela aide quelqu'un.
cordova plugin ajoute cordova-support-google-services --save