Nano Hash - криптовалюты, майнинг, программирование

Ошибка: не удалось выполнить задачу «: android: transformClassesAndResourcesWithProguardForRelease»

Каждый раз, когда я получаю эту ошибку при запуске моего проекта. Я могу сделать очистку, а затем снова запустить, и это работает. Но это не оптимальное решение. Любые идеи?

Error:Execution failed for task ':android:transformClassesAndResourcesWithProguardForRelease'.

java.io.IOException: не удалось переименовать android\build\intermediates\transforms\proguard\release\folders\3\1f\main\classes.jar в android\build\intermediates\transforms\proguard\release\jars\3\1f \classes.jar


  • Эта проблема возникает из-за включения pro-guard в конфигурации выпуска приложения. Таким образом, решение либо удалить pro-guard, либо поставить указанный фрагмент кода, как в ссылке readyandroid.wordpress.com/ 02.05.2018

Ответы:


1

Эта ошибка возникает, когда версии SDK, инструментов сборки и плагинов Gradle не совпадают (с точки зрения совместимости). Решение состоит в том, чтобы проверить, используете ли вы их последние версии. Плагины Gradle размещаются в файле build.gradle проекта. Другие версии находятся в файле build.gradle модуля. Например, например, для SDK 23 необходимо использовать Инструменты сборки 23.0.1 и плагины Gradle версии 1.3.1. сильный>

Очистите проект после изменения настроек. (Решил мою проблему и больше никогда ее не видел.)

обратитесь к этому вопросу

27.11.2015
  • Я попробовал это с SDK 24, Инструментами сборки 24.0.0 и gradle плагином версии 2.1.2, у меня та же проблема.. 26.06.2016
  • @sohayb Возможно, у вас есть проблема в файле proguard с некоторыми сторонними библиотеками? В моем случае это произошло... Я просто добавил правильные правила для внешней библиотеки, и этого было достаточно. 24.10.2016
  • Я использую: compileSdkVersion 27, buildToolsVersion 27.0.3, minSdkVersion 16, targetSdkVersion 25 и плагин gradle версии 3.0.1. Я столкнулся с той же проблемой. Что я должен делать? 01.11.2018
  • та же проблема @salvishahzad на самом деле вам не нужна buildToolsVersion, поэтому вы можете прокомментировать эту строку, и Android получит версию, которая работает с gradle, в моем случае я могу решить проблему, добавив --dontwarn retrofit2.Platform$Java8, как в stackoverflow.com/questions/36010942/< /а> 26.11.2018
  • В моем случае проблема заключалась в следующем: указанная версия Android SDK Build Tools (27.0.3) игнорируется, поскольку она ниже минимальной поддерживаемой версии (28.0.3) для Android Gradle Plugin 3.3.1. 20.02.2019

  • 2

    Удалите строки из proguard-rules.txt, которые содержат:

    -injars, -outjars, or -libraryjars

    и восстановить.

    14.08.2016
  • где можно найти файл proguard-rules.txt? 01.11.2018
  • @salvishahzad в моем случае: android/app/proguard-rules.pro 06.04.2019

  • 3

    Удаление minifyEnabled true из конфигурации выпуска помогло мне.

    04.08.2019

    4

    в моем случае это были правила okhttp proguard, после их добавления все заработало нормально

    #OKhttp RULES START
    -dontwarn okhttp3.**
    -dontwarn okio.**
    -dontwarn javax.annotation.**
    #OKhttp RULES END
    
    #picasso rules START
    -dontwarn com.squareup.okhttp.**
    #picasso rules END
    
    09.02.2019

    5

    В моем случае проблема была устранена путем понижения версии Proguard, используемой Gradle для создания подписанного apk. Вы можете понизить его, поместив этот блок в файл build.gradle на уровне проекта. Поместите его в блок buildscript.

    configurations.all {
        resolutionStrategy {
            force 'net.sf.proguard:proguard-gradle:5.2.1'
        }
    }
    

    Вы можете проверить текущую версию Proguard, выполнив эту команду в корневой папке проекта:

    ./gradlew buildEnvironment | grep proguard
    

    Вот часть трассировки стека Proguard, чтобы помочь другим найти проблему, с которой столкнулся я.

    Caused by: java.io.IOException: java.lang.NullPointerException
    at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:283)
    at com.android.build.gradle.internal.transforms.ProGuardTransform.access$000(ProGuardTransform.java:63)
    at com.android.build.gradle.internal.transforms.ProGuardTransform$1.run(ProGuardTransform.java:173)
    at com.android.builder.tasks.Job.runTask(Job.java:48)
    at com.android.build.gradle.tasks.SimpleWorkQueue$EmptyThreadContext.runTask(SimpleWorkQueue.java:41)
    at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:225)
    Caused by: java.lang.NullPointerException
    at proguard.optimize.info.NonEmptyStackReturnMarker.setReturnsWithNonEmptyStack(NonEmptyStackReturnMarker.java:102)
    at proguard.optimize.info.NonEmptyStackReturnMarker.markReturnWithNonEmptyStack(NonEmptyStackReturnMarker.java:95)
    at proguard.optimize.info.NonEmptyStackReturnMarker.visitSimpleInstruction(NonEmptyStackReturnMarker.java:76)
    ...
    at proguard.optimize.Optimizer.execute(Optimizer.java:649)
    at proguard.ProGuard.optimize(ProGuard.java:328)
    at proguard.ProGuard.execute(ProGuard.java:127)
    at com.android.build.gradle.internal.transforms.BaseProguardAction.runProguard(BaseProguardAction.java:54)
    at com.android.build.gradle.internal.transforms.ProGuardTransform.doMinification(ProGuardTransform.java:254)
    ... 5 more
    
    19.03.2017

    6

    Вы должны попробовать это: добавить в proguard-rules.pro

    -keepattributes EnclosingMethod
    
    23.07.2018
  • Добавьте эту строку в файл proguard-rules.pro, чтобы решить эту проблему. @salvishahzad -ignorewarnings 18.02.2019

  • 7

    Это работает, когда вы изменяете minifyEnabled на false.

    обратитесь к этому Android Studio Signed APK ':app:transformClassesAndResourcesWithProguardForRelease'

    16.06.2017
  • minifyEnabled to false = отключенный proguard 04.07.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..