Ce que dit vraiment la question - pouvez-vous émettre des commandes directement à gradlew via la ligne de commande pour créer, empaqueter et déployer sur un appareil?
android
gradle
android-studio
gradlew
Matt Whetton
la source
la source
gradle tasks
est utile pour voir les tâches prêtes à l'emploi - qui comprend l'installation (mais pas le démarrage comme indiqué ci-dessous)Réponses:
Cela poussera l'apk de compilation de débogage vers l'appareil, mais vous devez démarrer manuellement l'application.
la source
Puisque vous utilisez Gradle, vous pouvez simplement ajouter votre propre tâche dans build.gradle
puis appelez-le dans la racine de votre projet
$ gradle appStart
Mettre à jour:
Si vous utilisez
applicationIdSuffix ".debug"
, ajoutez.debug
à la appId ne mais laisser l'activité intacte:'com.example.debug/com.example.MyActivity'
la source
'com.your.packagename/.path.relative.to.your.packagename.MyActivity'
au lieu de'com.example/.MyActivity'
si votre activité n'est pas à la racine de votre package.1. Construisez le projet, installez l'apk généré sur l'appareil
2. Ouvrez l'application sur l'appareil
la source
alias arun="./gradlew installDebug && adb shell am start -n com.example.package/.LauncherActivity"
#Runs step2 Seulement lorsque l'étape 1 est réussiePhrase d'une ligne:
Construire le projet et installer l'apk généré et ouvrir l'application sur l'appareil
la source
Il existe trois commandes pour accomplir cela:
./gradlew assembleDebug #To build the project
adb install -r ./app/build/outputs/apk/app-debug.apk #To install it to the device
adb shell am start -n $PACKAGE/$PACKAGE.$ACTIVITY #To launch the application in the device
, où $ PACKAGE est le package de développement et $ ACTIVITY est l'activité à lancer (l'activité du lanceur).J'ai écrit un script bash pour ce faire , avec quelques autres fonctionnalités.
la source
Une façon plus flexible de le faire consiste à utiliser monkey:
Quelques avantages de cette méthode:
getAdbExe
ne nécessite pas que adb soit sur le chemin et utilise la version adb du sdk pointé danslocal.properties
.monkey
outil vous permet d'envoyer une intention de lanceur, vous n'êtes donc pas obligé de connaître le nom de votre activité.la source
adb shell am start your.package.name.debugsuffix\.Activity
Construire -> désinstaller l'ancienne version -> installer une nouvelle version -> exécuter l'application.
Ou si vous souhaitez installer et exécuter l'application en type de débogage.
la source
la source
J'ai écrit cette tâche pour pouvoir installer et également ouvrir l'application sur l'appareil. Comme j'avais plusieurs identifiants d'application
buildTypes
etflavors
avec différents, il n'était pas possible de coder en dur le nom du package. Alors je l'ai écrit comme ça à la place:Cela vous donnerait
open{variant}
pour chaqueinstall{variant}
tâche que vous avez déjà.la source