L'erreur
Erreur: L'exécution a échoué pour la tâche ': app: transformClassesWithDexForDebug' . com.Android.build.transform.api.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: processus 'commande'/usr/lib/jvm/Java-8-Oracle/bin/Java '' terminé avec une valeur de sortie non nulle 1
Mon fichier de notes d'application:
apply plugin: 'com.Android.application'
apply plugin: 'com.google.gms.google-services'
Android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId 'Hidden application ID'
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
lintOptions {
disable 'InvalidPackage'
}
packagingOptions {
exclude 'META-INF/services/javax.annotation.processing.Processor'
}
productFlavors {
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.Android.support:multidex:1.0.1'
compile 'com.Android.support:appcompat-v7:23.1.1'
compile 'com.Android.support:design:23.1.1'
compile 'com.Android.support:cardview-v7:23.1.1'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.google.Android.gms:play-services:8.1.0'
compile 'com.facebook.Android:facebook-Android-sdk:4.7.0'
compile 'com.googlecode.libphonenumber:libphonenumber:7.2.1'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.Android.support:preference-v7:23.1.1'
}
Lors du débogage, si je règle minifyEnabled sur true, la compilation est effectuée. Cependant, je ne peux pas déboguer mon application.
J'ai vérifié cette autre question: L'exécution a échoué pour la tâche ': app: transformClassesWithDexForDebug' lors de la connexion de Google à Android , mais il n'y a qu'une seule réponse et sa mise en œuvre ne résout malheureusement pas le problème.
Autant que je sache, l'erreur est due à l'ajout de trop nombreuses dépendances de Gradle, mais je peux me tromper (j'espère vraiment me tromper car tous ces paquets sont vraiment importants!).
S'il vous plaît aidez-moi à résoudre cette erreur. Merci beaucoup!
Il suffit de corriger les dépendances des services Google Play:
Vous incluez tous les services de jeu dans votre projet. Ajoutez seulement ceux que vous voulez.
Par exemple, si vous utilisez uniquement des cartes et une signature g +, changez
compile 'com.google.Android.gms:play-services:8.1.0'
à
compile 'com.google.Android.gms:play-services-maps:8.1.0'
compile 'com.google.Android.gms:play-services-plus:8.1.0'
De la doc:
Dans les versions des services Google Play antérieures à la version 6.5, vous deviez compiler l'intégralité du package d'API dans votre application. Dans certains cas, cela fait il est plus difficile de conserver le nombre de méthodes dans votre application (y compris les API framework, les méthodes de bibliothèque et votre propre code) sous 65 536 limite.
À partir de la version 6.5, vous pouvez compiler sélectivement Google Play API de service dans votre application. Par exemple, pour inclure uniquement le Google API Fit et Android Wear, remplacez la ligne suivante dans votre fichier Fichier build.gradle:
compiler 'com.google.Android.gms: play-services: 8.3.0'
avec ces lignes:compiler 'com.google.Android.gms: play-services-fitness: 8.3.0'
compiler 'com.google.Android.gms: play-services-wearable: 8.3.0'
Essayer
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
Je ne connais pas la raison ... quelque chose à propos de preDexLibraries
: https://sites.google.com/a/Android.com/tools/tech-docs/new-build-system/tips
Selon @ lgdroid57:
La ressource suivante devrait aider à expliquer le rôle de ce code: link ( http://google.github.io/Android-gradle-dsl/current/com.Android.build.gradle.internal.dsl.DexOptions.html ) Propriété | Description javaMaxHeapSize | Définit la valeur -JXmx * lors de l’appel de dx. Le format doit suivre le modèle 1024M. preDexLibraries | Que ce soit pour les bibliothèques pré-dex. Cela peut améliorer les builds incrémentiels, mais les builds propres peuvent être plus lents.
Essayez d’ajouter multiDexEnabled true
à votre fichier app build.gradle
.
defaultConfig {
multiDexEnabled true
}
C'est le problème de Multidex. Vous pouvez essayer de supprimer certains fichiers jar ou de la manière suivante: http://developer.Android.com/tools/building/multidex.html#mdex-gradle Dans l'application. grade:
defaultConfig {
...
minSdkVersion 14
targetSdkVersion 21
...
// Enabling multidex support.
multiDexEnabled true
}
dependencies {
compile 'com.Android.support:multidex:1.0.0'
}
Dans votre manifeste:
<?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>
ajoutez multiDexEnabled true
dans default config file
sur build.gradle
comme ceci
defaultConfig {
multiDexEnabled true
}
La solution qui a fonctionné pour moi personnellement était la suivante:
dans le build.gradle
defaultConfig {
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
Ma réponse est un peu ancienne, mais pour moi la seule solution consistait à ajouter l'option multiDexEnabled dans defaultConfig comme ceci:
Android{
...
defaultConfig{
...
multiDexEnabled true
}
}
Si cela ne fonctionne pas pour vous, essayez d'ajouter ce morceau de code:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
}
}
}
Mon erreur était liée à un problème avec différentes versions de librairies et cela a rendu l'astuce.
J'espère que cela peut aider quelqu'un :)
Assurez-vous de ne pas utiliser deux versions du service Google.
Par exemple avoir:
compile 'com.google.firebase:firebase-messaging:9.8.0'
et
compile 'com.google.firebase:firebase-ads:10.0.0'
Je l'ai résolu! C'est un ensemble de configuration et de mise à jour. Ajoutez ces variables là où elles se trouvent dans build.gradle
Android {
packagingOptions {
exclude 'META-INF/ASL2.0'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
multiDexEnabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
Ensuite, mettez à jour vers Java 8 http://tecadmin.net/install-Oracle-Java-8-jdk-8-ubuntu-via-ppa/
et tout sera résolu! C'est à cause de la mise à jour buildTools
et du nouveau studio Android . Rien d'autre n'échouera.
Aide possible
Essayé en dernier recours après avoir épuisé toutes les autres options
J'ai enlevé toutes les clés de mémoire (RAM) sauf une. J'ai moins de mémoire maintenant mais ça fonctionne à nouveau. Je ne peux pas prétendre savoir pourquoi le processus de construction a toujours trouvé de la mémoire corrompue, ou si c'est la cause première à 100% - à d'autres égards, le système fonctionnait correctement. Peut-être que c'est quelque chose à essayer, bonne chance.
J'ai eu ce problème lorsque j'ai mis à jour le plugin Gradle de la version 1.2.3 à 1.5.0 comme suggéré par Android Studio. Dans sa page Web , 1.5.0 semble être une version bêta.
Honnêtement, je ne connais pas les avantages de la version 1.5.0, mais je préférerais attendre qu’une version stable soit disponible.
Bien sûr, revenir à la version 1.2.3 a résolu le problème.
Allez dans la construction ->
Projet propre ->
Exécuter le projet: terminé
travailler sur Android 5.1 pour moi
Pour moi, la fermeture de tous les autres Android Studio a résolu le problème.
J'avais ouvert 3 studios Android au moment où j'obtenais l'erreur, après avoir fermé 2, je n'ai pas eu d'erreur.
Pas besoin d'ajouter de code lié à multiDex!
En changeant
compiler 'com.google.Android.gms: play-services: 8.1.0'
le problème peut être résolu uniquement pour les fichiers nécessaires.
Allez dans Build -> Clean et exécutez votre application à nouveau
Pas besoin de multitex. Pour "l'ancien" projet ouvert dans Android Studio 2.1, il changeait la version du plugin Gradle de 1.5.0 à 2.1.0 qui résolvait ce problème.
buildscript {
dependencies {
classpath 'com.Android.tools.build:gradle:2.1.0'
}
}
Déplacez la déclaration du plugin apply au bas du fichier:
appliquer le plugin: 'com.google.gms.google-services'
J'ai eu une erreur similaire. Je l'ai corrigé en changeant simplement de répertoire. Cloner à nouveau mon projet à partir de mon référentiel git, l'importer dans le studio Android et le construire. On dirait que l'un des répertoires/fichiers générés par Android Studio lors de la construction de votre projet peut avoir été corrompu. Supprimer tous les fichiers générés par Android Studio dans votre projet ou faire ce que j'ai fait pourrait résoudre le problème. J'espère que cela t'aides.
J'ai eu cette erreur lors de l'exécution d'un projet ionique sur un appareil Android et je l'ai résolu en supprimant et en ajoutant la plate-forme Android:
ionic cordova platform remove Android
ionic cordova platform add Android
A tous ceux qui ont été confrontés à ce problème/le feront à l'avenir:
Cliquez sur le menu Build -> Sélectionnez une variante de construction -> Restore to 'debug'
Résultat sur le module debuggable: app /* debug { debuggable true } * /
Allez dans le menu Construire -> générer un apk signé -> .... -> construisez-le
En utilisant ionic, j’ai pu corriger cette erreur en utilisant la commande: "Cordova clean"
Apparemment, j'ai résolu le problème en combinant toutes les solutions En ajoutant ce qui suit au manifeste Android:
<application
...
Android:name="Android.support.multidex.MultiDexApplication" >
...
</application>
Suivre le module de l'application build.gradle
Android {
...
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
...
defaultConfig {
multiDexEnabled true
}
}
Ne deviens pas fou Je viens juste de nettoyer, puis de reconstruire le projet
J'ai eu ce problème lorsque j'ai délégué ma tâche de compilation au Google Compute Engine via SSH. La nature de ce problème est une erreur de mémoire, comme indiqué par le journal des incidents; spécifiquement, il est lancé lorsque Java manque de mémoire virtuelle pour pouvoir fonctionner pendant la construction.
Important:Lorsque Gradle tombe en panne à cause de cette erreur de mémoire, les démons Gradle restent actifs longtemps après l'échec de la tâche de compilation. Toute nouvelle tentative de construction à l'aide de gradle allouera un nouveau démon Gradle. Vous devez vous assurer que vous disposez correctement de toutes les instances bloquées en utilisantgradlew --stop
.
Le journal des incidents hs_error_pid
indique les solutions suivantes:
# There is insufficient memory for the Java Runtime Environment to continue.
# Possible reasons:
# The system is out of physical RAM or swap space
# In 32 bit mode, the process size limit was hit
# Possible solutions:
# Reduce memory load on the system
# Increase physical memory or swap space
# Check if swap backing store is full
# Use 64 bit Java on a 64 bit OS
# Decrease Java heap size (-Xmx/-Xms)
# Decrease number of Java threads
# Decrease Java thread stack sizes (-Xss)
# Set larger code cache with -XX:ReservedCodeCacheSize=
J'ai constaté qu'après l'augmentation des ressources d'exécution de la machine virtuelle , ce problème était résolu.
il suffit de supprimer les deux dossiers build
dans /Android
et /Android/app
et compiler à nouveau avec react-native run-Android