Intereting Posts
В kotlin, как вернуть экземпляр, определяемый параметром generic class Котлин не работает над Android Studio Создать новый экземпляр объекта Котлин неожиданное поведение переопределения с делегацией класса Kotlin Студия Android не разрешает классы, написанные в Kotlin (.kt) в среде IDE, но компилирует отлично Котлин, когда делегировать карту? Метод hashMapOf () в Котлине динамически созданный текст, как сделать findViewByTag в kotlin, он показывает неразрешенные ссылки Изменить уведомления в Realm для внутренних объектов? Kotlin от Java: поле nullable или нет? Как сделать многосвязывание с помощью контейнера поиска зависимостей Kodein? Как передать тип nullable в функцию, которая принимает непустой тип? Предупреждение: предупреждение: поддерживаемая исходная версия 'RELEASE_7' из обработчика аннотаций 'android.arch.lifecycle.LifecycleProcessor' меньше, чем -source '1.8' kotlin android – Xposed IllegalArgumentException 'android.content.res.CoollifeUITpedArray' Я смутился со следующим заявлением Котлина

Android Studio – java.io.IOException: Не удалось создать подпись v1

Я получаю эту ошибку после обновления моей Android-студии до всех новых версий после 3.0 Canary 4. (Я использую v3.0, потому что она намного быстрее, и нет необходимости в разъеме для Kotlin.)

Похоже, что существует проблема с потоком сборки, которая не может генерировать или подписывать мой файл APK для отладки и выпуска версии.

Я также попытался удалить мой debug.keystore , перезапустив AndroidStudio и систему (!!!), но это не решило.

Вот полный журнал Gradle:

FAILURE: Сбой сборки с исключением.

  • Что пошло не так: выполнение выполнено для задачи ': chris-app: packageDemoDebug'.

    java.io.IOException: Не удалось создать подпись v1

  • Попробуйте: запустите с опцией –info или –debug, чтобы получить больше выходных данных журнала.

  • Исключение: org.gradle.api.tasks.TaskExecutionException: Выполнение выполнено для задачи ': chris-app: packageDemoDebug'. на org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions (ExecuteActionsTaskExecuter.java:100) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute (ExecuteActionsTaskExecuter.java:70) на org.gradle .api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute (SkipUpToDateTaskExecuter.java:64) в org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute (ResolveTaskOutputCachingStateExecuter.java:54) на org.gradle.api.internal .tasks.execution.ValidatingTaskExecuter.execute (ValidatingTaskExecuter.java:58) в org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute (SkipEmptySourceFilesTaskExecuter.java:88) на org.gradle.api.internal.tasks.execution .ResolveTaskArtifactStateTaskExecuter.execute (ResolveTaskArtifactStateTaskExecuter.java:52) в org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute (SkipTaskWithNoActionsExecuter.java:52) на org.gradle.api.internal.tasks .execution.SkipOnlyIfTaskExecuter.execute (SkipOnlyIfTaskExecuter.java:54) в org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute (ExecuteAtMostOnceTaskExecuter.java:43) в org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter .execute (CatchExceptionTaskExecuter.java:34) в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker $ 1.run (DefaultTaskGraphExecuter.java:243) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java: 336) at org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:328) в org.gradle.internal.progress.DefaultBuildOperationExecutor.execute (DefaultBuildOperationExecutor.java:197) на org.gradle.internal.progress .DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:107) в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWo rker.execute (DefaultTaskGraphExecuter.java:236) в org.gradle.execution.taskgraph.DefaultTaskGraphExecuter $ EventFiringTaskWorker.execute (DefaultTaskGraphExecuter.java:225) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.processTask (DefaultTaskPlanExecutor.java: 124) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.access $ 200 (DefaultTaskPlanExecutor.java:80) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute (DefaultTaskPlanExecutor.java:105) на org.gradle .execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker $ 1.execute (DefaultTaskPlanExecutor.java:99) в org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute (DefaultTaskExecutionPlan.java:625) в org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask ( DefaultTaskExecutionPlan.java:580) в org.gradle.execution.taskgraph.DefaultTaskPlanExecutor $ TaskExecutorWorker.run (DefaultTaskPlanExecutor.java:99) на org.gradle.int ernal.concurrent.ExecutorPolicy $ CatchAndRecordFailures.onExecute (ExecutorPolicy.java:63) в org.gradle.internal.concurrent.ManagedExecutorImpl $ 1.run (ManagedExecutorImpl.java:46) на org.gradle.internal.concurrent.ThreadFactoryImpl $ ManagedThreadRunnable.run (ThreadFactoryImpl.java:55) Вызвано: org.gradle.tooling.BuildException: java.io.IOException: Не удалось создать подпись v1 в com.android.build.gradle.internal.scope.OutputScope.lambda $ parallelForEachOutput $ 10 (OutputScope .java: 240) at com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput (OutputScope.java:235) в com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput (OutputScope.java:196 ) на com.android.build.gradle.internal.scope.OutputScope.parallelForEachOutput (OutputScope.java:180) в com.android.build.gradle.tasks.PackageAndroidArtifact.doFullTaskAction (PackageAndroidArtifact.java:466) на com.android. build.gradle.internal.tasks.IncrementalTask.taskAction (IncrementalTask.java:80) на org.gra dle.internal.reflect.JavaMethod.invoke (JavaMethod.java:73) в org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ IncrementalTaskAction.doExecute (DefaultTaskClassInfoStore.java:168) на org.gradle.api.internal. project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute (DefaultTaskClassInfoStore.java:134) в org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore $ StandardTaskAction.execute (DefaultTaskClassInfoStore.java:121) на org.gradle.api.internal. tasks.execution.ExecuteActionsTaskExecuter $ 1.run (ExecuteActionsTaskExecuter.java:122) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:336) в org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute (DefaultBuildOperationExecutor.java:328) на org.gradle.internal.progress.DefaultBuildOperationExecutor.execute (DefaultBuildOperationExecutor.java:197) на org.gradle.internal.prog ress.DefaultBuildOperationExecutor.run (DefaultBuildOperationExecutor.java:107) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction (ExecuteActionsTaskExecuter.java:111) в org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter. executeActions (ExecuteActionsTaskExecuter.java:92) … 27 more Причиняется: java.lang.RuntimeException: java.io.IOException: Не удалось создать подпись v1. Причина: java.io.IOException: Не удалось создать подпись v1 в com. android.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate (SigningExtension.java:297) в com.android.apkzlib.sign.SigningExtension.access $ 200 (SigningExtension.java:55) в com.android.apkzlib.sign.SigningExtension $ 1.lambda $ beforeUpdate $ 2 (SigningExtension.java:175) в com.android.apkzlib.zip.ZFile.notify (ZFile.java:2099) в com.android.apkzlib.zip.ZFile.update (ZFile.java:871) в com. android.apkzlib.zip.ZFile.close (ZFile.java:1161) в com.android.apkzlib.zfile.ApkZFileCreator.close (ApkZFileCreator .java: 172) на com.google.common.io.Closer.close (Closer.java:216) в com.android.builder.internal.packaging.IncrementalPackager.close (IncrementalPackager.java:332) на com.android. build.gradle.tasks.PackageAndroidArtifact.doTask (PackageAndroidArtifact.java:698) в com.android.build.gradle.tasks.PackageAndroidArtifact.splitFullAction (PackageAndroidArtifact.java:520) в com.android.build.gradle.internal.scope. OutputScope.lambda $ parallelForEachOutput $ 6 (OutputScope.java:185) на com.android.build.gradle.internal.scope.OutputScope.lambda $ parallelForEachOutput $ 7 (OutputScope.java:202) на com.android.build.gradle.internal. scope.OutputScope.lambda $ null $ 8 (OutputScope.java:224) "в com.android.apksig.internal.apk.v1.V1SchemeSigner.checkEntryNameValid (V1SchemeSigner.java:406) в com.android.apksig.internal.apk. v1.V1SchemeSigner.generateManifestFile (V1SchemeSigner.java:373) в com.android.apksig.internal.apk.v1.V1SchemeSigner.sign (V1SchemeSigner.java:253) в com.android.apksig.DefaultApkSignerEngine. outputJarEntries (DefaultApkSignerEngine.java:372) в com.android.apkzlib.sign.SigningExtension.onOutputZipReadyForUpdate (SigningExtension.java:295) … еще 13

BUILD FAILED в 2m 49s

После большего исследования с помощью команды gradle assemble --stacktrace я обнаружил, что проблема gradle assemble --stacktrace с процессом APK zipping:

Ошибка: org.gradle.tooling.BuildException: Не удалось создать подпись v1 Ошибка: java.io.IOException: Не удалось создать подпись v1 Ошибка: com.android.apksig.apk.ApkFormatException: Неподдерживаемый символ 0x0d в ZIP-записи «активы / Значок?"

Был файл с именем «Значок?». в моем проекте, который является файлом MacOS, который указывает значок папки, и содержит внутри себя CR, LF .

Я удалил файл, и теперь все работает нормально.

Эта проблема появилась во всех версиях после Android Studio Canary 4, и я сообщаю об этой проблеме команде Android Studio по этой теме https://issuetracker.google.com/issues/63885809

и они упомянули:

3.0 Canary 4 – это примерно то же время, когда мы добавили, что проверка «Неподдерживаемый символ», поэтому это происходит из этой версии вперёд.

Они расследуют больше, чтобы решить эту проблему, и я надеюсь, что этот ответ поможет другим не терять один месяц, не обновляя свою Android-студию. 🙂