Comment créer Android avec gradle
depuis la ligne de commande ( sans IDE )?
Avant c'était avec Android
utiliser comme ci-dessous
Android create project --target 1 --name MyAndroidApp --path ./MyAndroidAppProject --activity MyAndroidAppActivity --package com.example.myandroid
Similaire à Comment créer Java suggérer de créer Android avec Android create project
que d'ajouter build.gradle
modèle pour classique Android gh.c/N/n-1/b/m/oneeg/docs/Android/build.gradle . (Ce serait permettent de se développer dans n'importe quel IDE, car l'ancienne structure est plus largement adoptée)
Bien sûr, il y aura quelques gradle init
options ou Android create
(du SDK) à l'avenir.
Le SDK Android 19 a Android
CLI -g
option qui permet d'utiliser le modèle gradle. Vous devrez peut-être également spécifier Android version plugin gradle avec CLI -v
option, cochez Tableau de compatibilité du plugin Android Gradle . Exemple de commande pour créer le projet qui utilise Android plugin gradle (v 0.10) pour ajouter le support gradle.
Android create project \
--gradle \
--gradle-version 0.10 \
--activity Main \
--package com.example.app \
--target Android-19 \
--path AppWithGradleTemplate
ou pour buildTools 19.1+, utilisez une version plus récente du Gradle Android plugin via --gradle-version
:
Android create project \
--gradle \
--gradle-version 0.11.+ \
--activity Main \
--package com.example.app \
--target Android-25 \
--path AppWithGradleTemplate
vérifier Android create project -h
pour aider
Cependant Android Studio 0.6.1 n'a pas pu l'ouvrir correctement (aucune source affichée), car il a pris le premier dossier de projet (c'est-à-dire gradle
) comme dossier de module -> vous devez Importer, pas seulement ouvrir.
Dans Eclipse, c'était avec une astuce de considérer le dossier src
comme racine du projet.
.classpath
est
<?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>
Et 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
}
}
Android create project
a été supprimé dans les outils SDK 26.0.1
Voir https://askubuntu.com/questions/906942/Android-update-project-path-target-Android-25-on-ubuntu-16-04 pour plus de détails
Essayer de l'utiliser échoue avec:
*************************************************************************
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
Solution: Android Modèle Studio + script d'aide à la copie
La meilleure solution de contournement que j'ai est de:
Le script d'aide suivant vous permet de faire:
./template NewAppName AppTemplateProject
pour obtenir une nouvelle application NewAppName
à partir d'une AppTemplateProject
existante créée avec 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 en amont: https://github.com/cirosantilli/Android-cheat/blob/0e6b7462705179658b48d0e2e27f0dbce308393c/gradle/template
Oui ce n'est pas parfait. Le support CLI semble secondaire par rapport à Google :-(
Voici la solution PHP Android CLI
Exécutez simplement:
phpandroid create HelloWorld com.example.helloworld
et votre projet est échafaudé avec les derniers paramètres Android-studio, comme, compiler et cibler le SDK est 29, buildToolsVersion est 29.0.1 et minSdk est 16.
Si vous souhaitez modifier, par exemple, définir minSdk sur 14:
phpandroid create PROJECT PACKAGE --minSdk=14
PHP Android CLI peut également créer des variantes et des modules (application/bibliothèque):
phpandroid create PROJECT PACKAGE --modules=common:library,admin --variants=free:type,paid:type,php:backend,firebase:backend
cela générera 2 applications, app
, admin
& une bibliothèque common
. App
a 2 dimensions: type
& backend
4 variantes: free
& paid
de type
dimension; php
& firebase
variante de la dimension backend
.