Crear la aplicación Android Studio a través de la línea de comandos


Quiero crear una aplicación de Android Studio (el sistema de compilación de Gradle), pero quiero hacerlo a través de la línea de comandos.

Author: Zoe, 2014-06-25

9 answers

Android Studio crea automáticamente un contenedor de Gradle en la raíz de tu proyecto, que es la forma en que invoca Gradle. El wrapper es básicamente un script que llama al binario de Gradle real y le permite mantener Gradle actualizado, lo que facilita el uso del control de versiones. Para ejecutar un comando de Gradle, simplemente puedes usar el script gradlew que se encuentra en la raíz de tu proyecto (o gradlew.bat en Windows) seguido del nombre de la tarea que deseas ejecutar. Por ejemplo, para construir una depuración versión de su aplicación Android, puede ejecutar ./gradlew assembleDebug desde la raíz de su repositorio. En una configuración de proyecto predeterminada, el apk resultante se puede encontrar en app/build/outputs/apk/app-debug.apk. En una máquina *nix, también puede ejecutar find . -name '*.apk' para encontrarlo, si no está allí.

 154
Author: FuegoFro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-15 21:54:08

Prueba esto (solo OS X):

brew install homebrew/versions/gradle110
gradle build

Puede usar gradle tasks para ver todas las tareas disponibles para el proyecto actual. No Android Studio es necesario aquí.

 20
Author: superarts.org,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-25 01:46:12

Hay dos tipos de compilación para compilar tu aplicación usando la configuración de compilación de Gradle: una para depurar tu aplicación - debug - y otra para compilar tu paquete final para release - release mode.

Construyendo en Modo de Depuración

  • Primero Vaya a la carpeta raíz del proyecto de Android studio usando CMD introduzca la descripción de la imagen aquí

  • Ejecute este comando gradlew.bat assembleDebug

  • La ventana de salida se ve así introduzca la descripción de la imagen aquí

Build signed apk in Release Mode

  • Edita la compilación.archivo gradle para compilar tu proyecto en modo release:

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

introduzca la descripción de la imagen aquí

  • ejecute este comando gradlew.bat assembleRelease

Hecho.¡Buena suerte!

 16
Author: Dhaval Jivani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-17 20:18:28

¡Es probable que estés aquí porque también quieres instalarlo!

Construir

gradlew

(En Windows gradlew.bat)

Luego Instale

adb install -r exampleApp.apk

(El -r lo hace reemplazar la copia existente, agregar un -s si se instala en un emulador)

Bono

Configuré un alias en mi ~/.bash_profile, para convertirlo en un comando 2char.

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

(Abreviatura de Construir e instalar)

 5
Author: Gibolt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-08 08:57:17

Cheatsheet para ejecutar Gradle desde la línea de comandos para proyectos de Android Studio en Linux:

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

Debería ayudarte a empezar..

 3
Author: bph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-20 09:47:48

Para Mac utilice este comando

  ./gradlew task-name
 0
Author: Vji,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-26 05:48:51

Solo para usuarios de MAC

Extendiendo la respuesta de Vji.

Procedimiento paso a paso:

  1. Abrir terminal
  2. Cambie su directorio a su Proyecto (cd PathOfYourProject)
  3. Copie y pegue este comando y presione enter:

    chmod +x gradlew
    
  4. Como Vji sugirió:

    ./gradlew task-name
    
 0
Author: Naveen Kumawat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-03 18:47:07

Esto es un intento de una guía completa

1. Instalar Gradle y el SDK de Android

O bien

  • Instale estos como mejor le parezca
  • Ejecute ./gradlew, o gradlew.bat si está en Windows
    • chmod +x ./gradlew puede ser necesario

A partir de este punto, gradle se refiere a ejecutar Gradle de cualquier manera que hayas elegido. Sustitúyase en consecuencia.

2. Configurar el SDK de Android

  • Si ha instalado manualmente el SDK

    • export ANDROID_HOME=<install location>
    • Es posible que desee poner eso en su ~/.profile si no se hace automáticamente
  • Acepta las licencias: yes | sdkmanager

    • sdkmanager se puede encontrar en $ANDROID_HOME/tools/bin
    • sdkmanager puede tener que ejecutarse como root
  • Intenta ejecutar gradle

    • Si hay quejas sobre licencias o SDK que no se encuentran, corrija la permisos de directorio
      • chown -R user:group $ANDROID_HOME
      • Si eres imprudente y/o el solo usuario: chmod 777 -R $ANDROID_HOME

3. Edificio

  • gradle tasks lista todas las tareas que se pueden ejecutar
  • :app:[appname] es el prefijo de todas las tareas, que verás en el Gradle registros cuando se está construyendo
    • Esto se puede excluir cuando se ejecuta una tarea

Algunas tareas esenciales

  • gradle assemble: crea todas las variantes de tu app
    • Resultante .los apk están en app/[appname]/build/outputs/apk/[debug/release]
  • gradle assembleDebug o assembleRelease: compilar solo las versiones de depuración o lanzamiento
  • gradle installDebug o installRelease compilar e instalar en un dispositivo conectado
    • Tienen adb instalado
    • Conecte un dispositivo con depuración USB y transferencia de archivos USB habilitada
    • Ejecute adb devices, compruebe que su dispositivo está en la lista y dispositivo es al lado de él

Compilar e instalar automáticamente sobre los cambios

Esto evita tener que ejecutar continuamente los mismos comandos

gradle -t --continue installDebug
  • -t: aka --continuous, vuelve a ejecutar automáticamente la tarea después de cambiar un archivo
  • --continue: Continuar después de errores. Evita detenerse cuando se producen errores

Corre gradle -h para obtener más ayuda

 0
Author: williamvds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-03 20:09:58

Añadiendo valor a todas estas respuestas,

Muchos han pedido el comando para ejecutar App en AVD después de la compilación exitosa.

adb install -r {path-to-your-bild-folder}/{yourAppName}.apk
 -1
Author: chinnuabhi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-08-13 09:27:48