Android studio gradle assembledebug

Содержание
  1. Приложение Flutter застряло на «Выполнение задачи Gradle« assemblyDebug »…»
  2. 15 ответов
  3. Gradle застревает в «build» или «assembleDebug» при использовании 64-битной или 32-битной версии Android Studio
  4. Русские Блоги
  5. Gradle конфигурации Android Studio под Flutter
  6. 1. Опыт отказа: ручная настройка gradle
  7. два, Android Studio Автоматическая настройка gradle (рекомендую)
  8. 1. Проблема
  9. 2. Решение. Установите адрес зеркала, чтобы заменить адрес внешнего склада Gradle по умолчанию.
  10. В-третьих, проблема
  11. 1. В flutter SDK средний flutter.gradle Конфигурация и android/build.gradle Проблемы, вызванные разными конфигурациями.
  12. 2. О полном удалении Android Studio
  13. Изучаем Gradle: что умеет система сборки приложений Android Studio
  14. Содержание статьи
  15. Android Gradle plugin
  16. Добавляем свои поля в BuildConfig
  17. Добавляем свои данные в ресурсы
  18. Создаем разные варианты сборки
  19. Настраиваем информацию о приложении
  20. Gradle DSL
  21. Xakep #212. Секреты даркнета
  22. Пример 1: добавляем зависимости к задаче
  23. Пример 2: динамическое создание задач
  24. Практика
  25. Итого

Приложение Flutter застряло на «Выполнение задачи Gradle« assemblyDebug »…»

Когда я запускаю приложение, оно застревает

Это никогда не инициализирует Gradle, ни зависимости

15 ответов

В моем случае эта проблема была вызвана брандмауэром Windows. После того, как я временно отключил его, проблема исчезла. Стоит попробовать. Удачи!

После многих попыток ничто из того, что они рекомендовали, не помогло мне.

Моя проблема заключалась в том, что у меня были * .dart файлы с множеством строк кода для первоначального выполнения операций создания и вставки SQL в SQLite, я удалил эти 4072 строки операций, размер файла был уменьшен, и мне больше не нужно было компилировать сам код Вместо этого я предварительно загрузил базу данных в ресурсы, и она работала безупречно! ..

Сообщение о том, что операция длится долго, больше не появляется, я надеюсь, что она вас обслуживает.

Если вы работаете в Windows: попробуйте добавить исключения брандмауэра в Android Studio.

Панель управления \ Система и безопасность \ Брандмауэр Защитника Windows \ Разрешенные приложения

Я надеюсь, что это может быть полезно и для вас.

Вот решение в моем случае.

    Удалить папку Gradle в домашнем каталоге

/.gradle (необязательно)

  • Откройте ваш каталог проекта флаттера.
  • Перейдите в каталог android в каталоге проекта вашего флаттера cd android
  • чистый gradle ./gradlew clean
  • Построить Gradle ./gradlew build
  • Теперь запустите ваш проект флаттера. Если вы используете vscode, нажмите F5. Первый запуск GradleDebug займет некоторое время.
  • Я использую VS Code в Ubuntu 18.04

    Для меня это была фоновая загрузка соответствующих инструментов сборки Android SDK для моего подключенного устройства. Запуск flutter run -v показал, что он загружает инструменты сборки Android SDK, что обычно занимает некоторое время. Как только это было сделано, приложение флаттера скомпилировалось и успешно запустилось.

    Убедитесь, что вы установили инструменты Android SDK и добавили их в путь к среде. Я предполагаю, что вы скачали инструменты Android SDK.

    Убедитесь, что вы установили Gradle и добавили его в путь

    Убедитесь, что вы установили последние SDK дротик и флаттер

    Для № 1 и 2, пожалуйста, обратитесь к этому сообщению:

    В Windows 10 на это уходит время, поскольку для подключения Android к Android Studio требуется разрешение брандмауэра (AVD). Может быть еще одна причина, по которой вы не загрузили полный Android SDK на свой компьютер.
    Чтобы проверить проблему, просто запустите команду на вашем терминале / cmd / PowerShell.

    Проверьте, установлен ли SDK или нет. Попробуйте установить и принять лицензию, используя следующую команду

    flutter doctor —android-licenses

    Если это не решит вашу проблему, перейдите в Android Studio и откройте Android Studio,

    File-> settings->System settings(left tab) ->Android SDK ,

    Перейти к SDK Tool section на этой странице,

    Снимите флажок hide obsolete packages ,

    Выберите Android SDL tools(obsolete) и нажмите Применить, а также установите другие полезные инструменты в соответствии с вашим удобством.

    В моем случае версия Android Gradle Plugin не была обновлена до какой-либо версии. Поэтому я обновил его, щелкнув правой кнопкой мыши на папке моего проекта, щелкнув «Открыть настройки модуля» и соответственно обновив версию плагина Gradle.

    Это помогло: проверьте, установлена ли версия SDK root / android / app / build.gradle на минимум 28 для: compileSdkVersion 28 и targetSdkVersion 28

    Происходит с импортом Firestore.

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

    Проверьте, что вы строите против Android SDK, который у вас есть установлен . в вашем файле build.gradle проверьте compileSdkVersion.

    Вы можете попробовать удалить и переустановить соответствующий SDK.

    Некоторые пользователи сообщают, что им пришлось заново установить Dart.

    Без дополнительной информации мы можем предложить простое устранение неполадок.

    Эта проблема возникла в моей системе из-за ядра Zen.

    Я установил ядро Linux-LTS и запустил систему, используя это.

    Затем мой проект вернулся для компиляции снова.

    Для создания apk для Android во Flutter эта проблема иногда возникает. Мне повезло, что я тоже столкнулся с этой проблемой. Вот несколько способов, которыми это может быть решено:

    Проверьте с помощью шагов «не рекомендуется» в вышеприведенном уроке, являются ли все перечисленные файлы такими же, как в вашем проекте, особенно: В root / android / gradle / wrapper / gradle-wrapper.properties установите distributionUrl = https \: //services.gradle.org/distributions/gradle-4.10.2-all.zip в root / android / build.gradle установите Зависимости

    Проверьте, установлена ли версия root / android / app / build.gradle SDK минимум на 28 для: compileSdkVersion 28 и targetSdkVersion 28 Спасибо.

    Возникла та же проблема из-за неправильного compileSdkVersion в файле build.gradle. Работает нормально сейчас.

    Я использовал команду «flutter clean» в своем проекте, и она вернулась к работе отлично, пожалуйста, попробуйте. Igual imagem

    В моем случае мне нужно было только подождать, пока флаттер установит gradle и другие вещи, если вы используете команду

    Вы можете видеть, что делает.

    Читайте также:  Обои для 1280x720 андроид

    В моем случае я забыл скачать Google Web Driver. Он работает после того, как я скачал Google Web Driver.

    Источник

    Gradle застревает в «build» или «assembleDebug» при использовании 64-битной или 32-битной версии Android Studio

    Проблема, которую я испытывал за последние несколько месяцев, заключается в том, что Android Studio часто зацикливается на Gradle: build , как видно здесь . Сам Android Studio остался бы отзывчивым, но сборка просто не продвинулась. Он также никогда не генерирует никаких ошибок, поэтому я не могу опубликовать какую-либо полезную информацию. Однажды в синей луне он мог внезапно работать, но ничего надежного.

    Недавно я нашел сообщение здесь о Stack Overflow, где кто-то Android Studio застрял на Gradle: build когда он попытался создать новый проект, и заметил, что этой проблемы не было в 32-битной версии Android. Поэтому я подумал, почему бы не попробовать. Оказывается, что здание больше не проблема, но assembleDebug при попытке создать приложение. Как можно видеть здесь .

    Конечно, все эти команды работают безупречно, когда запускаются с помощью командной строки и gradlew.

    То, что я пробовал до сих пор:

    Я запускаю последнюю версию Android Studio, используя версию 19.1.0 инструментов сборки, gradle v0.11 + и am на Windows 8.1.

    Есть ли что-нибудь еще, что я могу попробовать? Это начинает серьезно раздражать. Последнее возможное решение, которое я могу придумать, – это просто полный формат и новая установка Windows.

    Поскольку ответа на эту проблему нет, я поделюсь, что я сделал, чтобы решить эту проблему. Из того, что я видел, проблема в том, что существует зависимость (или много) от maven-репо, которое невозможно загрузить. Таким образом, вы должны принимать все зависимости один за другим и проверять, существуют ли они на maven-репо.

    Например, у меня была зависимость «org.jraf: android-switch-backport: 1.3.1» от « http://JRAF.org/static/maven/2 », которую в то время не удалось открыть.

    Мой файл build.gradle выглядит так:

    Я столкнулся с той же проблемой, и решение было очень неожиданным в моем случае: AVAST-антивирус каким-то образом мешал процессу Gradle: build. Деактивация этого антивируса решила проблему!

    Для меня эта проблема возникла, когда я подключился к USB-модему с помощью устройства Android. Первая сборка заняла от 5 до 10 минут, и каждая последующая сборка заняла около 3-7 секунд. Я обнаружил, что, отключив USB-привязку, первая сборка завершилась быстро (и все последующие сборки). После завершения первой сборки я смогу повторно подключить USB-модем.

    Если у вас есть новый Ubuntu 14.04 с Android Studio 1.5, вам может не хватать библиотеку. Попробуй это:

    Другой ответ переполнения стека

    Для меня это случается 1 раз в 2 раза. Взлом, который работает для меня, – File->Exit и подтвердите выход. Затем появляется сообщение, сообщающее мне, что Gradle работает, и вдруг неожиданно появляется экран для выбора устройства. I Нажмите « NO и все будет хорошо.

    Во всяком случае, все еще облом, но я еще не нашел ответа.

    Моя проблема заключалась в том, что в исполняемых файлах Android Sdk отсутствовал исполняемый бит. Вы можете проверить некоторые из ваших двоичных файлов, например / Sdk / build-tools // aapt, чтобы узнать, есть ли у них разрешение на выполнение. Если нет, вы можете решить эту проблему, выполнив ее в папке Sdk

    Источник

    Русские Блоги

    Gradle конфигурации Android Studio под Flutter

    1. Опыт отказа: ручная настройка gradle

    Mac Finder -> Приложения / приложения -> Android Studio Щелкните правой кнопкой мыши, чтобы отобразить содержимое пакета. Продолжайте открывать Contents Папка, при нормальных обстоятельствах будет одна gradle Папка, скопируйте загруженные и распакованные файлы в эту папку. Если в папке Contents нет папки gradle, создайте папку gradle и продолжите следующие операции

    • Конфигурация gradle Экологический путь

    Откройте терминал и откройте файл конфигурации системной среды. vim

    /.bash_profile . Добавьте путь к файлу gradle.

    Путь к файлу — это путь, по которому файл gradle хранится впереди, и вы можете напрямую перетащить файл в терминал, чтобы получить его. Примечание. Полученный путь к файлу находится в Android Studio.app Добавить между \ , который Android\ Studio.app В противном случае путь не может быть распознан

    Терминальное сохранение .bash_profile файл. выполненный source

    /.bash_profile Сделайте так, чтобы измененный файл конфигурации вступил в силу.

    выполненный gradle -v , Если настройка прошла успешно, вы можете увидеть gradle Связанная информация.

    Конфигурация здесь, по сути, решила только одну проблему grable: command not found . Но при запуске программы Flutter на эмуляторе Android она все равно не может быть завершена Finished with error: Gradle task assembleDebug failed with exit code 1 。

    Долго поиски не решались, и окончательно отказался от ручной настройки gradle 。

    Ручная настройка gradle Не удалось, начать flutter Программа по-прежнему не может запустить симулятор и сообщит об ошибке.
    Возможная причина первая: проблемы, оставшиеся из истории, установленные ранее Android Studio , Были некоторые настройки. Проблема с конфигурацией может быть вызвана неправильным удалением

    Возможная причина вторая: ассоциация Android Studio Была проблема с методом, и после долгих поисков я не нашел решения, поэтому отказался от него .

    Возможная причина три: Flutter Конфигурация будет немного отличаться, результатов не найдено.

    Никогда не понял Flutter под Android Studio Ручная настройка gradle Как это произошло. Если есть отличное руководство, я надеюсь ответить на него в комментариях, спасибо.

    два, Android Studio Автоматическая настройка gradle (рекомендую)

    1. Проблема

    Не настроено gradle бежать flutter Программа, он застрянет в Running Gradle task ‘assembleDebug’. Потому что в это время Android Studio Готов к загрузке gradle пакет. На самом деле все пойдет не так гладко, как вы думаете.

    Предпосылка заключается в том, что конфигурация Android Studio не была выполнена, и нет оставшейся конфигурации старой версии, в противном случае не исключены другие странные проблемы. Если возможно, рекомендуется очистить все содержимое Android Studio и связанные с ним конфигурации перед переустановкой и настройкой.

    2. Решение. Установите адрес зеркала, чтобы заменить адрес внешнего склада Gradle по умолчанию.

    • Первый шаг — изменить flutter Проект android В пакете build.gradle файл. Сохраните после модификации.
    Читайте также:  Что такое автосинхронизация для андроид

    • Шаг 2 изменить Flutter под gradle файл

    Путь / flutter / packages / flutter_tools / gradle / flutter.gradle Откройте файл, сохраните его после модификации.

    Повторить flutter Программа, больше не появится Running Gradle task ‘assembleDebug’. . Но для первого запуска программы все равно нужно время.

    В-третьих, проблема

    1. В flutter SDK средний flutter.gradle Конфигурация и android/build.gradle Проблемы, вызванные разными конфигурациями.

    2. О полном удалении Android Studio

    Работайте в терминале, откройте терминал и по очереди выполняйте операторы.

    • Удалите приложение Android Studio и соответствующую конфигурацию
    • Удалить все проекты
    • удалять gradle Связанные документы- gradle Обратите особое внимание на проблемы с конфигурацией
    • Удалить все Удалите все виртуальные устройства Android (AVD) и * .keystore. Note
    • удалять Android SDK tools

    удалять Android Studio Стратегия исходит изБлог

    Источник

    Изучаем Gradle: что умеет система сборки приложений Android Studio

    Содержание статьи

    Большинство программистов, разрабатывающих для Android, хотя бы слышали о системе автоматической сборки Gradle. При этом, по моим наблюдениям, лишь немногие из использующих эту систему кодеров уделяют достаточно времени, чтобы как следует изучить ее возможности :). Самая частая причина звучит так: «Да ладно, это ж просто скрипт сборки, у меня есть задачи поважнее».
    А ведь на самом деле Gradle может быть очень полезен как для простой настройки сборки, так и для решения весьма нестандартных задач! Об этом и пойдет речь сегодня.

    Android Gradle plugin

    Gradle сам по себе ничего не знает о том, как билдить Android-проект, в этом ему помогает плагин, который разрабатывается вместе с Android SDK. Если ты только недавно начал осваивать программирование под Android, то мог и не заметить, что в главном сборочном скрипте build.gradle студия самостоятельно добавляет зависимость от этого плагина.

    А в скрипте твоего основного модуля этот плагин автоматически подключается строчкой apply plugin: ‘com.android.application’ . Именно поэтому у тебя в скрипте есть секция android < . >, в которой ты указываешь версию Build Tools, версии SDK для сборки и прочее.

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

    Добавляем свои поля в BuildConfig

    BuildConfig — это автоматически генерируемый при сборке класс, который содержит только константы. Этот класс генерируется отдельно для каждого модуля в твоем проекте и по умолчанию включает в себя информацию об ID приложения, версии, типе сборки.

    Редактирование вручную этого файла бесполезно, так как он все равно перезатрется новыми данными при сборке. Зато Android-плагин может добавлять в него те поля, которые ты скажешь.

    Первый параметр — тип константы, второй — имя, третий — значение, все просто. Заметь, что значение поля TIMEOUT вычисляется на этапе сборки и в BuildConfig попадет уже как число 300 000. Теперь ты можешь конфигурировать свой любимый HTTP-клиент, просто ссылаясь на константы в BuildConfig.

    Добавляем свои данные в ресурсы

    Принцип точно такой же, что и с BuildConfig, но позволяет добавлять значения в файл ресурсов. Но зачем добавлять ресурс из конфига, если проще это сделать, как обычно, в XML-файле? Просто потому, что в скрипте, так же как и в случае с BuildConfig.TIMEOUT, значение ресурса можно вычислить. Например, сохранить дату сборки:

    Gradle создаст специальный файл generated.xml примерно такого содержания (только, разумеется, с правильными угловыми скобочками):

    И пусть тебя не смущает, что мы храним время в формате String. К сожалению, Android SDK не умеет хранить в ресурсах long, а в 32-битный integer время не влезет.

    Создаем разные варианты сборки

    Пожалуй, уже все Android-программисты знают о существовании встроенных типов сборок debug и release . Чуть меньше — о том, что можно создавать свои типы сборок. Еще меньше тех, кто дополнительно применяет productFlavors . Но давай по порядку.

    Мы используем build types, чтобы иметь возможность собирать приложение с существенными отличиями. Эти отличия обычно связаны с тем, как мы собираем приложение: для отладки или для релиза, с обфускацией кода или без, каким сертификатом оно будет подписано.

    Чтобы собрать нужный тип, выполняем команду gradle assemble , например gradle assembleDebug или gradle assembleQa .

    Product flavors дополняют build types и вносят еще один уровень гибкости в настройку сборки. Используй их, когда нужно, скажем так, не глобально изменить приложение, — это могут быть брендинг (иконки, цвета, тексты), окружение (адрес сервера, платформа, trial- или pro-версии).

    Build type и product flavor в сумме дают так называемый итоговый Build Variant, собрать который можно по схеме gradle assemble . Если ты хочешь запустить эти сборки не из консоли, а из студии, открой вкладку Build Variants и выбери то, что тебе нужно, из списка, как на рис. 1.

    Рис. 1. Выбор Build Variant в Android Studio

    Каждая из секций buildTypes и productFlavors <. >может иметь свои buildConfigField <. >, resValue , versionName и другие параметры, которые будут приоритетнее, чем те, что объявлены в defaultConfig <. >.

    Настраиваем информацию о приложении

    Имея несколько вариантов сборок, ты точно захочешь их идентифицировать или различать после установки. Как раз для этого у Android-плагина есть парочка параметров — applicationIdSuffix и versionNameSuffix , которые добавляют к существующему ID приложения и к существующей версии то, что ты пожелаешь.

    С таким конфигом команда gradle assembleTrialRelease соберет тебе приложение с applicationId=»example.myawesomeapp.release» и названием версии MyAwesomeApp-trial.

    Читайте также:  Пропал звук китайский андроид

    Заканчивая тему с Android-плагином для Gradle, нужно сказать, что это только часть его возможностей. Плагин постоянно развивается и приобретает новые фичи. На сайте tools.android.com есть подробный гайд по его использованию.

    Gradle DSL

    А теперь давай попробуем разобраться, почему конфигурация сборки в Gradle называется скриптом, из чего состоит этот скрипт и почему он выглядит так, как выглядит. Gradle часто называют объединением систем сборки Ant и Maven.

    С одной стороны, Gradle, как и Maven, обеспечивает декларативный подход к сборке, когда программист лишь объявляет нужные значения и параметры, а система сама знает, как сделать всю остальную работу самостоятельно. Именно этим мы занимались в предыдущей части.

    С другой стороны, Gradle, как и Ant, умеет выполнять команды, но пишутся они не в XML-файле, а уже с помощью Gradle DSL (domain-specific programming language), написанном на Groovy. В мире Gradle эти команды называются Tasks (задачи). Задачи можно делать зависимыми от других задач и таким образом строить граф их выполнения. По сути, цепочка задач и установленные параметры и есть скрипт сборки приложения.

    В прошлой части статьи, когда мы выполняли команды вроде gradle assembleRelease , на самом деле мы запускали уже готовую одноименную задачу. Она не взялась из ниоткуда, ее нам подготовил Android-плагин. Ты всегда можешь посмотреть список доступных команд, выполнив gradle tasks . Попробуй, и ты увидишь, как много задач тебе уже предоставлено.

    Рис. 2. Типичный набор задач в Android-проекте

    Xakep #212. Секреты даркнета

    Стандартные команды ты можешь изучить, запуская их с помощью gradle help или gradle install . А как насчет собственных задач? Легко — давай же скорее напишем Hello Gradle!

    Добавь эту задачу в свой build-скрипт, и ты сможешь запустить ее gradle hello . Она появится также в списке задач ( gradle tasks ) в разделе Other tasks. Если ты знаком с Groovy, ты сразу заметишь, что тело задачи — это просто замыкание (closure) с кодом, печатающим слова. Вся мощь Gradle и заключается в том, что в теле задачи можно писать Groovy-код, а значит, можно создавать задачи, делающие что угодно, если это можно уложить в программный код.

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

    Пример 1: добавляем зависимости к задаче

    Мы написали две задачи, печатающие отдельно слова Hello и world. Операция doLast <. >и используется для краткости записи. Последняя задача greetings принимает в качестве зависимости массив других задач. Если запустить ее, то она самостоятельно запустит все задачи, от которых зависит.

    Есть еще один вариант установки зависимостей:

    Этот способ работает, потому что задачи в Gradle — это объекты, у них есть методы, их можно передавать в качестве параметра в функции.

    Пример 2: динамическое создание задач

    Подобно тому, как Android-плагин автоматически генерирует задачи под твои build types и product flavors, ты сам можешь генерировать свои задачи.

    Такой скрипт создаст тебе пять задач с именами task0, tasl1 и так далее.

    Практика

    ОK, ближе к делу, давай напишем что-нибудь полезное. Многие проекты состоят не только из одного основного модуля app, но и из нескольких вспомогательных, каждый из которых имеет свой скрипт build.gradle со своими настройками. При обновлении Android SDK становится утомительно обновлять каждый из скриптов отдельно и редактировать в них compileSdkVersion, buildToolsVersion, targetSdkVersion. Зато можно написать задачу, которая сделает это самостоятельно. Открой скрипт build.gradle в корне своего проекта, найди в нем секцию allprojects <. >и добавь такой код:

    У Gradle API есть метод subprojects , который принимает на вход замыкание и вызывает его для каждого подмодуля в проекте. В теле функции-замыкания мы проверяем, относится ли модуль к Android, и, если да, заменяем все, что относится к версии Build Tools и версии SDK.

    Следующая задача посложнее: автоматизировать подстановку версии приложения (versionCode и versionName). Давай представим, что в проекте используется Git, каждый релиз помечается соответствующим тегом в формате release2.3.4. Тогда в качестве versionName можно будет брать имя самого свежего тега, а versionCode будет равняться количеству этих тегов. В качестве бонуса сгенерируем файл с историей релизов.

    Для начала нужно написать функцию, вытаскивающую с Git всю нужную информацию.

    Суть функции в том, что она выполняет консольную команду git for-each-ref , доставая все теги, начинающиеся с release, в формате ИмяТега-СообщениеТега и возвращает их списком строк. Получается что-то вроде:

    Реальное значение зависит, конечно, от того, что на самом деле лежит в Git проекта. Эту функцию мы можем использовать в секции android, чтобы заполнить значения versionCode и versionName:

    Автоподстановку версии мы настроили. Осталось записать список релизов в файл. Сделаем для этого новую задачу:

    Так как Groovy — это дополнение к Java, у тебя в распоряжении весь стандартный Java API. Здесь, например, нам пригодился стандартный Java-класс File. Чтобы генерировать этот файл не вручную, а вместе с билдом, подцепим нашу задачу к какой-нибудь из уже имеющихся, например к preBuild:

    Итого

    Мы посмотрели на штатные возможности Android-плагина для Gradle, немного поковыряли Gradle API, поучились писать свои задачи. Разумеется, все это только верхушка айсберга. Вокруг Gradle уже сформировалось большое комьюнити, и оно развивает и создает свои плагины: для деплоя, для тестирования, для статистики и кучу других, которые могут сделать твою жизнь лучше. А если ты не найдешь то, что тебе нужно, то ты сможешь написать свой плагин или задачу. Успехов!

    Видео доклада о внутреннем устройстве Gradle (на английском):
    Gradle under the hood (Dawid Kublik)

    Источник

    Оцените статью