Сборка приложения Android Studio через командную строку

136

Я хочу создать приложение для Android Studio (система сборки Gradle), но я хочу сделать это через командную строку.

Б. Надолсон
источник
6
Например ./gradlew сборка Выпуск, ./gradlew сборка Отладка
Габриэле Мариотти
Если у вас есть несколько вариантов сборки, то вам нужно идти ./gradlew assemblyYourVariantRelease
Михал Доби Добжаньский

Ответы:

190

Android Studio автоматически создает обертку Gradle в корне вашего проекта, что и вызывает Gradle. Оболочка - это, по сути, скрипт, который обращается к реальному двоичному файлу Gradle и позволяет поддерживать Gradle в актуальном состоянии, что упрощает использование контроля версий. Чтобы запустить команду Gradle, вы можете просто использовать gradlewскрипт, который находится в корневом каталоге вашего проекта (или gradlew.batв Windows), за которым следует имя задачи, которую вы хотите запустить. Например, чтобы создать отладочную версию вашего приложения Android, вы можете запустить его ./gradlew assembleDebugиз корня хранилища. В настройках проекта по умолчанию, полученный apk может быть найден в app/build/outputs/apk/app-debug.apk. На компьютере * nix вы также можете просто запустить find . -name '*.apk'его, если его там нет.

FuegoFro
источник
36
Мне потребовалось более 2 часов, чтобы понять, как правильно запускать Gradle из командной строки
Одед Регев
4
Я запустил это из командной строки c:\path_to_my_app\gradlew.bat ./gradlew assemblyDebug, и это показало мне скачивание services.gradle.org/distributions/gradle-2.10-all.zip . И он застрял там. Что мне не хватает?
Саид Нимати
Вы также можете установить приложение с ./gradlew installArm7Debug. Другие задачи легко найти./gradlew tasks
Андреас Лёве Сельвик
1
Я составил проект и загрузить его на Android устройства с помощью ./gradlew assembleDebugи ./gradlew installDebugкоманд. В AndroidStudio есть консоль, которая в режиме реального времени отслеживает все действия устройства Android (например, в случае сбоя устройства Android консоль печатает трассировку исключений). Как получить это средство мониторинга на терминале?
mercury0114
Как запретить загрузке -> Загрузка services.gradle.org/distributions/gradle-2.xyz-all.zip. Я заметил, что gradle прекрасно строит проект android, но в командной строке есть проблема настройки прокси. Это может быть решено путем установки параметров прокси (но сейчас у меня нет этой привилегии), но я просто хочу обойти загрузку .. Как я могу это сделать?
Раульп
24

Попробуйте это (только OS X):

brew install homebrew/versions/gradle110
gradle build

Вы можете использовать, gradle tasksчтобы увидеть все задачи, доступные для текущего проекта. Нет Android Studioздесь нужно.

superarts.org
источник
4
Убедитесь, что у вас установлен homebrew!
amitavk
1
«Нет необходимости в Android Studio» - я полагаю, если вам не нужен Android SDK. В любом случае, проект, который я пытаюсь построить, действительно требует этого.
hmijail скорбит по отставке
21

Существует два типа сборки для сборки вашего приложения с использованием параметров сборки Gradle: один для отладки вашего приложения - отладка - и один для сборки вашего окончательного пакета в режиме выпуска - выпуска.

Сборка в режиме отладки

  • Сначала перейдите в корневую папку проекта студии Android с помощью CMD введите описание изображения здесь

  • выполните эту команду gradlew.bat assemblyDebug

  • Окно вывода выглядит так введите описание изображения здесь

Построить подписанный апк в режиме релиза

  • Отредактируйте файл build.gradle, чтобы построить свой проект в режиме выпуска:

    android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }}
    

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

  • запустите эту команду gradlew.bat assemblyRelease

Готово. Удачи!

Давал Дживани
источник
2
Есть ли способ автоматического запуска приложения после успешной сборки?
Амбар Джайн
Я не могу найти способ автоматического запуска приложения после сборки
Dhaval Jivani
3
@DhavalJivani запустить его в эмуляторе? Если это так, то это просто команды adb. Вы даже можете выбрать конкретную активность для запуска. developer.android.com/studio/command-line/adb.html
Blizz
@DhavalJivani, как лучше всего тестировать приложение для Android в автоматическом тестировании? Что касается сети, у нас есть селен в питоне и узле.
Суровый Манвар
9

Это попытка полного руководства

1. Установите Gradle и Android SDK

Либо

  • Установите их так, как считаете нужным
  • Запустить ./gradlewили, gradlew.batесли на Windows
    • chmod +x ./gradlew может быть необходимо

С этого момента и далее gradleотносится к запуску Gradle в зависимости от выбранного вами способа. Подставь соответственно.

2. Настройте Android SDK

  • Если вы вручную установили SDK

    • export ANDROID_HOME=<install location>
    • Вы можете добавить это в свой, ~/.profileесли это не сделано автоматически
  • Принимаю лицензии: yes | sdkmanager

    • sdkmanager можно найти в $ANDROID_HOME/tools/bin
    • sdkmanager возможно, придется запускать с правами root
  • Попробуйте запустить gradle

    • Если есть жалобы на отсутствие лицензий или SDK, исправьте права доступа к каталогу.
      • chown -R user:group $ANDROID_HOME
      • Если вы безрассудный и / или единственный пользователь: chmod 777 -R $ANDROID_HOME

3. Здание

  • gradle tasks перечисляет все задачи, которые можно запустить
  • :app:[appname] это префикс всех задач, которые вы увидите в журналах Gradle при сборке
    • Это может быть исключено при запуске задачи

Некоторые важные задачи

  • gradle assemble: построить все варианты вашего приложения
    • Результирующие .apks находятся в app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebugили assembleRelease: собрать только отладочную или выпускную версии
  • gradle installDebugили installReleaseсобрать и установить на подключенное устройство
    • У ADB установлен
    • Подключите устройство с включенной отладкой USB и передачей файлов через USB
    • Запустите adb devices, убедитесь, что ваше устройство в списке и устройство рядом с ним

Автоматически создавать и устанавливать при изменениях

Это избавляет от необходимости постоянно запускать одни и те же команды

gradle -t --continue installDebug
  • -t: aka --continuous, автоматически перезапускает задачу после изменения файла
  • --continue: Продолжить после ошибок. Предотвращает остановку при возникновении ошибок

Беги gradle -hза дополнительной помощью

williamvds
источник
8

Вы, вероятно, здесь, потому что вы хотите установить его тоже!

Сложение

gradlew

(В Windows gradlew.bat)

Затем установите

adb install -r exampleApp.apk

( -rОн заменяет существующую копию, добавляя ее -sпри установке на эмуляторе)

бонус

Я установил псевдоним в моем ~/.bash_profile, чтобы сделать его командой 2char.

alias bi="gradlew && adb install -r exampleApp.apk"

(Сокращение от Build и Install)

Gibolt
источник
7

Шпаргалка для запуска Gradle из командной строки для проектов Android Studio в Linux:

cd <project-root>
./gradlew
./gradlew tasks
./gradlew --help

Должны ли вы начать ..

бут
источник
3

Для Mac используйте эту команду

  ./gradlew task-name
Vji
источник
1

Только для пользователей MAC

Расширение Vji ответ «S.

Пошаговая процедура:

  1. Открытый терминал
  2. Измените каталог на ваш проект (cd PathOfYourProject)
  3. Скопируйте и вставьте эту команду и нажмите Enter:

    chmod +x gradlew
    
  4. Как предложил Vji :

    ./gradlew task-name
    

    НЕ ЗАБЫВАЙТЕ ДОБАВИТЬ. (ТОЧКА) ДО / gradlew

Навин Кумават
источник
1

Официальная документация здесь:

Чтобы создать отладочный APK, откройте командную строку и перейдите в корневой каталог вашего проекта. Чтобы начать отладочную сборку, вызовите assembleDebugзадачу:

gradlew assembleDebug

Это создает APK с именем module_name-debug.apkв project_name/module_name/build/outputs/apk/.

Мухаммед Усман
источник
0

enter code hereСоздайте файл сценария с помощью приведенной ниже команды gradle и adb, Выполните файл сценария

./gradlew clean

./gradlew assemblyDebug ./gradlew installDebug

Оболочка adb запускаю -n applicationID / полный путь активности запуска

user2851150
источник
0

Обратите внимание, что вы также можете сделать это в Android Studio, щелкнув окно Gradle, а затем кнопку «Слон». Это откроет новое окно с именем «выполнить все» (также можно найти, выполнив поиск по этому имени в «везде поиск»), где вы можете вручную ввести любую команду gradle, какую хотите. Не «довольно» в командной строке, но часто предоставляет больше что мне нужно, чем в командной строке Windows.

Это позволяет вам задавать необязательные параметры для задач Gradle и т. Д.

mawalker
источник
-2

Добавляя ценность ко всем этим ответам,

многие просили команду для запуска приложения в AVD после успешной сборки.

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
AbhinayMe
источник