the studio script plug make for flavors first configurar available added actualizar android gradle command-line

script - gradle version android studio



¿Cómo crear un proyecto de Android con gradle desde la línea de comandos? (2)

¿Cómo crear un proyecto de Android con gradle desde la línea de comandos ( sin ningún IDE )?

Antes de que fuera con la utilidad de android como a continuación

android create project --target 1 --name MyAndroidApp --path ./MyAndroidAppProject --activity MyAndroidAppActivity --package com.example.myandroid


Similar a Cómo crear un proyecto gradle de Java, sugiera crear un proyecto Android con un proyecto android create project que agregar la plantilla build.gradle para el proyecto clásico de Android gh.c/N/n-1/b/m/o.n.e.e.g/docs/android/build.gradle . (Eso permitiría desarrollar en cualquier IDE, ya que la estructura anterior es más ampliamente adoptada)

Por supuesto, habrá algunas opciones de gradle init o android create (de SDK) en el futuro.

ACTUALIZAR:

Android SDK 19 tiene la opción CLI de android que permite usar la plantilla de gradle. Es posible que también deba especificar la versión de Android Gradle Plugin con la opción CLI -v , consulte la tabla de compatibilidad de Android Gradle Plugin . Ejemplo de comando para crear el proyecto que usa el complemento gradle de Android (v 0.10) para agregar soporte de gradle.

android create project / --gradle / --gradle-version 0.10 / --activity Main / --package com.example.app / --target android-19 / --path AppWithGradleTemplate

o para buildTools 19.1+, use una versión más nueva del complemento Gradle para Android a través de --gradle-version :

android create project / --gradle / --gradle-version 0.11.+ / --activity Main / --package com.example.app / --target android-25 / --path AppWithGradleTemplate

verifica android create project -h para ayuda

Sin embargo, Android Studio 0.6.1 no pudo abrirlo correctamente (no se muestran las fuentes), porque se tomó la carpeta del primer proyecto (es decir, gradle ) como carpeta de módulo -> debe importar, no solo abrir.

En Eclipse fue con un truco de considerar la carpeta src como raíz del proyecto.

.classpath es

<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="java"/><!--ADJUSTED HERE --> <classpathentry kind="src" path="gen"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry kind="output" path="bin/classes"/> </classpath>

Y build.gradle

buildscript { repositories { mavenCentral() } dependencies { classpath ''com.android.tools.build:gradle:0.10.+'' } } apply plugin: ''android'' android { //{ for Android Gradle as Eclipse project sourceSets { main { manifest.srcFile ''AndroidManifest.xml'' java.srcDirs = [''java''] resources.srcDirs = [''java''] aidl.srcDirs = [''java''] renderscript.srcDirs = [''java''] res.srcDirs = [''res''] assets.srcDirs = [''assets''] } // Move the tests to tests/java, tests/res, etc... androidTest.setRoot(''../tests'') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot(''build-types/debug'') release.setRoot(''build-types/release'') } //} compileSdkVersion ''Google Inc.:Google APIs:10'' buildToolsVersion ''19.0.3'' buildTypes { release { runProguard false proguardFile getDefaultProguardFile(''proguard-android.txt'') } } lintOptions { abortOnError false } }

http://marketplace.eclipse.org/content/gradle

leer en http://www.nodeclipse.org/projects/gradle/


android create project se eliminó en las herramientas SDK 26.0.1

Ver https://askubuntu.com/questions/906942/android-update-project-path-target-android-25-on-ubuntu-16-04 para más detalles

Intentar usarlo falla con:

************************************************************************* The "android" command is deprecated. For manual SDK, AVD, and project management, please use Android Studio. For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager ************************************************************************* Invalid or unsupported command "project create" Supported commands are: android list target android list avd android list device android create avd android move avd android delete avd android list sdk android update sdk

Solución alternativa: plantilla de Android Studio + script de copia de ayuda

La mejor solución que tengo es:

  • crear un nuevo proyecto de Gradle manualmente desde la GUI de Android Studio
  • use un script auxiliar para copiar esa plantilla, renombrando las clases en el proceso

La siguiente secuencia de comandos de ayuda le permite hacer:

./template NewAppName AppTemplateProject

para obtener una nueva aplicación NewAppName de un AppTemplateProject existente creado con Android studio:

#!/usr/bin/env bash set -ex new="$1" shift if [ $# -gt 0 ]; then old="$1" shift else old=''Min'' fi old="$(echo "$old" | sed -E ''s///$//'')" new="$(echo "$new" | sed -E ''s///$//'')" new_lower="$(echo "$new" | tr ''A-Z'' ''a-z'')" old_lower="$(echo "$old" | tr ''A-Z'' ''a-z'')" cp -r "$old" "$new" cd "$new" find . -type f -print0 | xargs -0 sed -i "s/${old}/${new}/g" find . -type f -print0 | xargs -0 sed -i "s/${old_lower}/${new_lower}/g" cd ''app/src/main/java/com/cirosantilli/android_cheat''

GitHub upstream: https://github.com/cirosantilli/android-cheat/blob/0e6b7462705179658b48d0e2e27f0dbce308393c/gradle/template

Sí, no es perfecto. El soporte de la CLI parece secundario a Google :-(