web-dev-qa-db-fra.com

Comment compiler APK à partir de la ligne de commande?

Je souhaite créer des applications Android sur demande. Selon la demande des clients, mon site Web m'enverrait un fichier JSON directement vers une application Windows que j'ai créée dans Delphi. Celle-ci permettrait d'économiser le fichier à l'intérieur du dossier source de l'application Android puis exécutez une ligne de commande indiquant au compilateur Android pour générer le fichier APK et l'envoyer à mon client, tout cela sans ma présence.

Le projet Android a été réalisé avec MotoDev . Et il utilise le SDK Android qui se trouve dans ma racine).

Comment dois-je configurer la ligne de commande pour y parvenir depuis mon programme Delphi?

Je devrai également changer le manifeste pour mettre un nouveau numéro de version afin qu'il n'entre pas en conflit avec la version des autres clients.

Android utilise le système de génération Ant, vous pouvez donc créer un build.xml et build.properties fichier pour votre projet.

Vous devrez créer le build.xml le premier fichier cependant:

Android update project -p .

Cela va générer un build.xml fichier. Vous devriez probablement personnaliser les étapes de construction et les cibles de votre projet. Une bonne idée dans votre cas serait d'avoir le build.properties fichier généré par votre site Web pour la construction spécifique ... Ensuite, incluez-le via le build.xml fichier. En particulier, vous devrez spécifier dans le build.properties fichier où se trouvent les clés de signature et quel est le mot de passe:

Build.Properties:

key.store=keystore.dat
key.alias=signing_key
key.store.password=password123
key.alias.password=password123

Le processus de génération utilisant ant vous permet également de faire des remplacements de variables dans les fichiers Java, ce qui pourrait être une autre idée. Il vous permettrait de personnaliser davantage le processus de génération sur un client en client.

Par défaut, la génération est déclenchée par:

ant clean
ant release

Une autre bonne idée: demandez à Ant de copier le fichier APK résultant sur un partage réseau accessible par le site Web en plaçant un < copy ... /> ligne dans le < target name="release" > section.

31
Andrew Cranston

Créez build.xml au moment de la création du projet

Si vous démarrez un nouveau projet avec:

Android create project \
    --target 1 \
    --name MyName \
    --path . \
    --activity MyActivity \
    --package com.yourdomain.yourproject

les build.xml le fichier utilisé par ant sera généré.

L'outil Android est présent dans le tools/ répertoire du SDK que vous avez téléchargé.

Créer des versions de débogage

Outre:

ant release

pour les versions finales, vous pouvez également créer des versions de débogage avec:

ant debug

Emplacement de l'apk généré

Les apk générés sont placés sous bin/.

Les résultats les plus importants sont:

MyName-debug.apk
MyName-release.apk

mais certains apks intermédiaires sont également générés, en particulier les versions non alignées et non signées.

Mais la plupart du temps, vous pouvez oublier où ils ont été créés et simplement exécuter:

ant debug install
ant release install

pour les installer. Mais assurez-vous qu'il fonctionne d'abord avec adb: la commande des périphériques adb ne fonctionne pas

Testé sur Ubuntu 15.10, Android 23.

Android n'utilise pas directement les systèmes de génération ANT maintenant. Il utilise Gradle, qui est basé sur Groovy. Vous pouvez en savoir plus sur les systèmes de construction ici .

Vous pouvez voir la liste des tâches disponibles sur lesquelles vous pouvez exécuter à l'aide de cette commande

gradlew tasks

Pour lancer une génération de débogage, appelez la tâche assembleDebug

gradlew assembleDebug

Vous pouvez installer votre application à l'aide de l'outil adb via cette commande

adb install path/to/your_app.apk

Pour en savoir plus sur la construction en ligne de commande, suivez this article complet.

Vous pouvez également lire cet article sur " Pourquoi construire vos Java avec Gradle plutôt qu'avec Ant ou Maven? "

1
touhid udoy