Je viens de migrer mon projet vers Android et j'ai activé le jetifier.
Maintenant, lorsque je veux construire mon projet, le message d'erreur suivant s'affiche: "La transformation n'a pas encore été exécutée" La synchronisation avec Gradle se termine sans erreur, mais la construction échoue.
L'exécution de cette tâche a échoué:
Transform org.Eclipse.jdt.core.jar (org.Eclipse.jdt:org.Eclipse.jdt.core:3.10.0) with IdentityTransform
Trace de la pile :
Java.lang.IllegalStateException: Transformation hasn't been executed yet
at org.gradle.api.internal.artifacts.transform.TransformInfo.getFailure(TransformInfo.Java:88)
at org.gradle.api.internal.artifacts.transform.TransformInfo.access$300(TransformInfo.Java:48)
at org.gradle.api.internal.artifacts.transform.TransformInfo$ChainedTransformInfo$ChainedArtifactTransformStepOperation.run(TransformInfo.Java:235)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.Java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.Java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.Java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.Java:31)
at org.gradle.api.internal.artifacts.transform.TransformInfo$ChainedTransformInfo.execute(TransformInfo.Java:217)
at org.gradle.api.internal.artifacts.transform.TransformInfoExecutor.execute(TransformInfoExecutor.Java:34)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.Java:277)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.Java:262)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.Java:135)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.Java:130)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.Java:200)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.Java:191)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.Java:130)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.Java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.Java:46)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.Java:55)
at Java.lang.Thread.run(Thread.Java:745)
Mon poste de travail:
Build: 3.3 Canary 13
Android Gradle Plugin: 3.3.0-alpha13
Gradle: 4.10.1
BuildToolsVersion : 28.0.3
Compile/Targer sdkVersion : 28
Ce problème était lié à la bibliothèque AutoFactory qui entraînait l'échec de la génération.
Après avoir creusé un peu Internet, j’ai trouvé que remplacer
com.google.auto.factory:auto-factory:1.0-beta5
avec
com.google.auto.factory:auto-factory:1.0-beta5@jar
dans les dépendances corrige le problème.
Mettez à jour votre wrapper à la dernière version dans gradle-wrapper.properties.
Le mien était
distributionUrl==https\://services.gradle.org/distributions/gradle-4.10.1-all.Zip
et j'ai mis à jour pour
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.Zip
Ok les gars!
J'ai trouvé l'erreur. C'était à moi. J'essayais de implémenter la bibliothèque à la place de testImplement it . J'avais l'erreur ci-dessus renvoyée par les tâches du jetificateur . Je l'ai donc changée:
implementation "com.Android.tools.lint: lint-api: 26.2.1"
implementation "com.Android.tools.lint: lint-tests: 26.2.1"
à
testImplementation "com.Android.tools.lint: lint-api: 26.2.1"
testImplementation "com.Android.tools.lint: lint-tests: 26.2.1"
Merci Jésus! Et il y avait 2 jours ...