Android Studio-java.io.IOException: échec de la génération de la signature v1

je reçois cette erreur après avoir mis à jour mon studio Android à toutes les nouvelles versions après 3.0 Canary 4. (J'utilise v3.0 parce qu'il est beaucoup plus rapide et il n'y a pas besoin de jack pour Kotlin.)

on dirait qu'il y a un problème avec build flow qu'il ne peut pas générer ou signer mon fichier APK pour le débogage et la version de publication.

j'ai aussi essayé de supprimer mon debug.keystore, redémarrage de L'AndroidStudio et du système(!!!) mais il n'a pas à résoudre.

voici un Grad complet log:

FAILURE: Build failed with an exception.

* What went wrong: Execution failed for task ':chris-app:packageDemoDebug'.
java.io.IOException: Failed to generate v1 signature

* Try: Run with --info or --debug option to get more log output.

* Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':chris-app:packageDemoDebug'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.run(DefaultTaskGraphExecuter.java:243)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:236)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:225)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access0(DefaultTaskPlanExecutor.java:80)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:105)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.execute(DefaultTaskPlanExecutor.java:99)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) Caused by: org.gradle.tooling.BuildException: java.io.IOException: Failed to generate v1 signature
        at com.android.build.gradle.internal.scope.OutputScope.lambda$parallelForEachOutput(OutputScope.java:240)
        at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput(OutputScope.java:235)
        at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput(OutputScope.java:196)
        at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput(OutputScope.java:180)
        at com.android.build.gradle.tasks.PackageAndroidArtifact.doFullTaskAction(PackageAndroidArtifact.java:466)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:80)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:168)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.run(ExecuteActionsTaskExecuter.java:122)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
        ... 27 more Caused by: java.lang.RuntimeException: java.io.IOException: Failed to generate v1 signature Caused by: java.io.IOException: Failed to generate v1 signature
        at com.android.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:297)
        at com.android.apkzlib.sign.SigningExtension.access0(SigningExtension.java:55)
        at com.android.apkzlib.sign.SigningExtension.lambda$beforeUpdate(SigningExtension.java:175)
        at com.android.apkzlib.zip.ZFile.notify(ZFile.java:2099)
        at com.android.apkzlib.zip.ZFile.update(ZFile.java:871)
        at com.android.apkzlib.zip.ZFile.close(ZFile.java:1161)
        at com.android.apkzlib.zfile.ApkZFileCreator.close(ApkZFileCreator.java:172)
        at com.google.common.io.Closer.close(Closer.java:216)
        at com.android.builder.internal.packaging.IncrementalPackager.close(IncrementalPackager.java:332)
        at com.android.build.gradle.tasks.PackageAndroidArtifact.doTask(PackageAndroidArtifact.java:698)
        at com.android.build.gradle.tasks.PackageAndroidArtifact.splitFullAction(PackageAndroidArtifact.java:520)
        at com.android.build.gradle.internal.scope.OutputScope.lambda$parallelForEachOutput(OutputScope.java:185)
        at com.android.build.gradle.internal.scope.OutputScope.lambda$parallelForEachOutput(OutputScope.java:202)
        at com.android.build.gradle.internal.scope.OutputScope.lambda$null(OutputScope.java:224) "
        at com.android.apksig.internal.apk.v1.V1SchemeSigner.checkEntryNameValid(V1SchemeSigner.java:406)
        at com.android.apksig.internal.apk.v1.V1SchemeSigner.generateManifestFile(V1SchemeSigner.java:373)
        at com.android.apksig.internal.apk.v1.V1SchemeSigner.sign(V1SchemeSigner.java:253)
        at com.android.apksig.DefaultApkSignerEngine.outputJarEntries(DefaultApkSignerEngine.java:372)
        at com.android.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate(SigningExtension.java:295)
        ... 13 more


BUILD FAILED in 2m 49s
8
demandé sur Sundararaj Govindasamy 2017-09-09 12:58:42

2 réponses

après plus de recherche en utilisant gradle assemble --stacktrace commande j'ai trouvé que le problème est avec APK compression processus:

erreur: org.gradle.outillage.BuildException: échec de la génération de v1 erreur de signature: java.io.IOException: échec de la génération de la signature v1 Erreur: com.Android.apksig.apk.ApkFormatException: caractère non supporté 0x0d dans le nom de L'entrée ZIP " actif / icône?"

il y avait un fichier nommé "Icon?"dans mon projet qui est un fichier MacOS qui indique dossier de l'icône et il contient CR, LF caractères à l'intérieur.

j'ai supprimé le fichier et maintenant tout fonctionne bien.

ce problème est apparu dans toutes les versions Après Android Studio Canary 4 et je signale le problème à L'équipe Android Studio sur ce fil https://issuetracker.google.com/issues/63885809

et ils ont mentionné:

3.0 Canary 4 est à peu près le temps que nous avons ajouté que "caractère non supporté" vérifier, donc c'est pourquoi il ça arrive à partir de cette version.

ils enquêtent davantage pour résoudre ce problème et j'espère que cette réponse aidera les autres à ne pas perdre un mois à ne pas mettre à jour leur studio Android. :)

4
répondu Mohsen Mirhoseini 2017-09-09 09:58:42

au départ, j'ai commencé avec beaucoup d'erreurs "le nom du fichier doit se terminer par .xml ou .png (Im utilisant Mac OSX aussi) puis j'ai commencé à supprimer un tas de fichiers d'icône aléatoires que j'ai trouvé dispersés autour. Fin de recevoir un nouveau message d'erreur "échec de l'exécution de la tâche:app:packageDebug’ n'a pas pu générer v1 signature"

à la fin, j'ai eu un bon conseil pour essayer de construire > projet propre et puis recompiler. Cela forcera L'IDE à revoir les fichiers et à réessayer). Si vous avez supprimé l'icône fichiers, Android Studio peut avoir besoin de ré-indexer le projet.

0
répondu Han John Tse 2018-03-10 14:16:07