Не удалось создать apk после обновления gradle 2.2 с помощью обновления Android Studio 2.2.0

Обновленная студия Android 2.2.0, она попросила обновить настройку проекта «gradle 2.2», и я это сделал, но теперь сборка не создается, когда я запускаю свое приложение. Во-первых, он показывал мне ошибки lint, и я их исправил. Теперь консоль gradle показывает, что сборка выполнена успешно, но apk не создается в папке Output > apk, как это обычно бывает.

  • Я следовал минимально поддерживаемому Версия Gradle — 2.14.1. Текущая версия 2.10. ссылка error тоже, но не повезло. Я запустил 'gradle assemble --stacktrace' и получил эту ошибку:

    Вызвано: org.gradle.api.GradleException: минимальная поддерживаемая версия Gradle — 2.14.1. Текущая версия 2.14. Если вы используете оболочку gradle, попробуйте отредактировать имя дистрибутива в /Users/path to project/gradle/wrapper/gradle-wrapper.properties на gradle-2.14.1-all.zip.

Мои gradle-wrapper.properties:

'distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip'

Кто-то сталкивается с подобной проблемой? Любое решение будет высоко оценено.


Консоль Gradle


person Sumit T    schedule 20.09.2016    source источник
comment
Если вы буквально запустили gradle assemble --stacktrace, это будет использовать копию Gradle, установленную на вашем компьютере для разработки, а не Gradle Wrapper, который использует Android Studio. Вам нужно будет обновить свой Gradle до 2.14.1 или выше.   -  person CommonsWare    schedule 21.09.2016
comment
@CommonsWare: я подписался на developer.android.com/studio/releases/gradle-plugin .html , обновил файл build.gradle, а также обновил gradle.wrapper.properties (которыми я поделился выше). Где еще мне нужно изменить версию Gradle?   -  person Sumit T    schedule 21.09.2016


Ответы (2)


Это может быть странной проблемой. Ваш проект больше не будет правильно синхронизироваться, что означает, что вы не можете запустить задачу обновления оболочки из-за того, что проекту не удалось пройти этап настройки сборки gradle.

У вас есть два варианта, первый вариант:

Отредактируйте файл build.gradle rootProject, чтобы использовать более старую версию плагина Android Gradle. 2.1.3, вероятно, здесь правильный выбор.

После этого вы можете запустить следующую команду gradle из корневого каталога вашего проекта.

./gradlew wrapper --gradle-version=2.14.1

После того, как вы это сделаете, откатите версию плагина Android Gradle до версии 2.2.0 и попытайтесь выполнить синхронизацию.

Второй вариант — обновить локальную установленную версию gradle до 2.14.1 или выше, а затем вызвать

gradle wrapper --gradle-version=2.14.1

Затем попытайтесь выполнить синхронизацию.

Как только вы вернетесь в рабочее состояние, я рекомендую вам добавить следующую задачу в файл build.gradle корневого уровня, чтобы сделать конфигурацию задачи-оболочки встроенной в ваш скрипт сборки.

task wrapper(type: Wrapper) {
    gradleVersion = '3.1' //or whatever version you like
    distributionUrl = "https://services.gradle.org/distributions/gradle-${gradleVersion}-all.zip"
}

Это делает так, что ваша задача-оболочка будет нацелена на версию -all вместо версии -bin, которую студия Android будет пилить вам после факта, если у вас нет такой конфигурации, как эта

person TrevJonez    schedule 21.09.2016
comment
_Я получаю указанную ниже ошибку при вызове «оболочки gradle --gradle-version=2.14.1» _ ‹br/›‹br/› Что пошло не так: возникла проблема при оценке проекта «: xyzLib». › Не удалось применить плагин [id 'com.android.library'] › Минимальная поддерживаемая версия Gradle – 2.14.1. Текущая версия 2.14. Если вы используете оболочку gradle, попробуйте отредактировать имя дистрибутива в /path to project/gradle/wrapper/gradle-wrapper.properties на gradle-2.14.1-all.zip - person Sumit T; 21.09.2016
comment
Вы понизили версию плагина, обновили оболочку Gradle, а затем обновили плагин? убедитесь, что вы понимаете, что команды ./gradlew и gradle — это две разные вещи. - person TrevJonez; 22.09.2016

В вашем root/build.gradle используйте: (gradle-plugin для Android)

classpath 'com.android.tools.build:gradle:2.2.0'

В файле gradle-wrapper.properties используйте: (gradle)

distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip'

Также перейдите в раздел Файл > Настройки > Сборки, выполнение, развертывание > Инструменты сборки > Gradle и установите Использовать оболочку gradle по умолчанию.

введите здесь описание изображения

Таким образом, вы уверены, что будете использовать обертку gradle (это означает, что вы будете использовать команду gradlew вместо gradle).

Если вы запускаете gradle assemble --stacktrace вручную, вы используете дистрибутив gradle вместо оболочки gradle.

person Gabriele Mariotti    schedule 21.09.2016
comment
Я уже сделал все эти настройки, это странно, но у меня все еще есть та же проблема только для одного из моих проектов, возможно, из-за некоторых встроенных в него библиотек. Эти настройки работали для примера проекта, который я создал. - person Sumit T; 21.09.2016