Android Studio–java.io.IOException:无法生成v1签名

Android Studio–java.io.IOException:无法生成v1签名,第1张

概述我将AndroidStudio更新到3.0Canary4之后的所有新版本后出现此错误.(我使用的是v3.0,因为它更快,并且不需要为Kotlin插孔.)看起来构建流程存在问题,它无法为调试版本和发布版本生成或签署我的APK文件.我也尝试删除我的debug.keystore,重新启动AndroidStudio和系统(!!!),但它没

我将Android Studio更新到3.0 Canary 4之后的所有新版本后出现此错误.(我使用的是v3.0,因为它更快,并且不需要为Kotlin插孔.)

看起来构建流程存在问题,它无法为调试版本和发布版本生成或签署我的APK文件.

我也尝试删除我的deBUG.keystore,重新启动AndroIDStudio和系统(!!!),但它没有解决.

这是一个完整的Gradle日志:

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 moreBUILD Failed in 2m 49s

解决方法:

在使用gradle assemble –stacktrace命令进行更多调查后,我发现问题与APK压缩过程有关:

Error:org.gradle.tooling.BuildException: Failed to generate v1
signature Error:java.io.IOException: Failed to generate v1 signature
Error:com.androID.apksig.apk.ApkFormatException: Unsupported character
0x0d in ZIP entry name “assets/Icon?”

有一个名为“Icon?”的文件.在我的项目中,这是一个MacOS文件,指示文件夹的图标,里面包含CR,LF字符.

我删除了文件,现在一切正常.

此问题出现在AndroID Studio Canary 4之后的所有版本中,我在此线程https://issuetracker.google.com/issues/63885809上向AndroID Studio团队报告此问题

他们提到:

3.0 Canary 4 is about the time we added that “Unsupported character” check, so that’s why it happens from that version forward.

他们正在调查更多以解决这个问题,我希望这个答案可以帮助其他人不浪费一个月不更新他们的AndroID Studio. 总结

以上是内存溢出为你收集整理的Android Studio – java.io.IOException:无法生成v1签名全部内容,希望文章能够帮你解决Android Studio – java.io.IOException:无法生成v1签名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1097574.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存