Подтвердить что ты не робот

Ошибка: выполнение не выполнено для задачи ': 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\1е\classes.jar

4b9b3361

Ответ 1

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

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

ответьте на этот вопрос

Ответ 2

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

-injars, -outjars или -libraryjars

и перестройте.

Ответ 3

В моем случае проблема была устранена путем понижения версии 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

Ответ 4

В моем случае я просто обновил свои плагины, и эта ошибка была решена.