/ / Run par exemple calc.exe avant de construire IntelliJ avec des projets Android - android, build, intellij-idea

Exécuter par exemple calc.exe avant de construire IntelliJ avec des projets Android - android, build, intellij-idea

J'essaie de faire des "choses" avant la construction de mon projet Android.
La configuration est approximativement la suivante:

  • LibraryProject
  • AppA
  • AppB

J'ai exécuté des configurations pour AppA + AppB
Je sais par exemple utilisez les petites cases à cocher pour, par exemple,

  • Déployer ou ne pas déployer
  • Courir ou ne pas courir

Celui que je suis coincé est Run Ant target.

Ce que je veux (la raison pour cette question) est raconter mon application en cours (la plupart du temps, il s’agit d’AppA lorsque j’appuie sur «run», car j’ai modifié quelque chose dans le code, par exemple: paramètres persistants.

J'ai le contrôle complet de l'application, et déjàa écrit plusieurs scripts pour, par exemple, parler via l'ADB au périphérique, ou même parler à l'application en cours d'exécution en utilisant UDP et une application hôte C # sur ma machine de développement. Donc, si je suis capable de courir un exemple shutdown.exe (.NET écrit par moi) Je peux dire à mon application de s’éteindre.

Donc, pour que cela reste "facile", j'ai essayé d'obtenir calc.exe pour démarrer lorsque vous appuyez sur "Exécuter" dans un projet Android dans Intellij. Mais j'ai réussi à obtenir totalement perdu dans la configuration build.xml qu'IntelliJ utilise pour Android.

J'ai essayé:

  • ajouter une tâche exec au build.xml
  • lui dire de courir les cibles Ant
  • Ajout de tests

Ils ont tous aucun effet. Je peux voir la construction Ant dans Intellij et lancer la tâche manuellement, toujours sans effet (je ne peux donc pas vraiment savoir si elles sont démarrées par la configuration d'exécution, car elles peuvent échouer en silence).

J'ai ajouté:

<target name="-pre-build">
<exec executable="calc.exe"/>
<echo message="HelloWorld"/>
</target>
<target name="-pre-compile">
<exec executable="calc.exe"/>
<echo message="HelloWorld"/>
</target>

Des conseils ce que je fais mal? Oh, encore une info. Si j'appuie sur le bouton vert de la barre d'outils Ant Build au plus haut niveau, Android me dit quelque chose à propos du "fichier de construction obsolète", mais je pense que c'est correct. On dirait qu'il essaie d'exécuter tout le fichier Ant alors, ce qui importe quelques tâches Android auparavant - mais ce n'est pas ce que je veux de toute façon.

Quelqu'un peut-il me donner un exemple (pour démarrer calc.exe). Je vais trouver le reste et mettre à jour le message si nécessaire pour que d'autres puissent l'aider.

Chris

Réponses:

1 pour la réponse № 1

IDEA n’utilise pas de génération Ant par défaut, ce que vous voyez est probablement le fichier build.xml généré automatiquement pour ce projet.

Vous pouvez créer un nouveau fichier build.xml contenant uniquement les éléments suivants:

<project name="build" default="pre-build">
<target name="pre-build">
<exec executable="c:/windows/system32/calc.exe"/>
<echo message="HelloWorld"/>
</target>
</project>

Dans la configuration Android Run / Debug Avant le lancement section spécifie cette cible Ant à exécuter:

ant ant avant le lancement

Je l’ai vérifié avec un petit exemple de projet et calc.exe s'exécute correctement avant d'exécuter la configuration Android dans IntelliJ IDEA.


1 pour la réponse № 2

Je suis tombé sur cette question lorsque je cherchais la même question dans Google. Peut-être qu'il est assez tard pour poster ma réponse, mais mieux que rien.

J’ai trouvé que vous n’avez pas besoin d’un script de compilation, c’est-à-dire que le système par défaut d’IntelliJ convient parfaitement. Par exemple, je fais mon projet avec android-ndk, je veux donc exécuter intelliJ ndk-build NDK_DEBUG=1 -j4 avant la construction normale.

Voici la solution:

  1. Exécuter -> Configuration de l'éditeur
  2. Sélectionnez l'une de vos configurations dans la partie gauche de la boîte de dialogue.
  3. Sur le côté droit il y a une zone marquée comme Avant le lancement
  4. Cliquez sur le bouton "plus", choisissez Run External Tool dans le menu contextuel.
  5. Cliquez sur le bouton "plus" dans la nouvelle fenêtre contextuelle.
  6. Ensuite, vous entrez dans la fenêtre de configuration réelle.

Ce qui est triste, c’est que je ne peux pas "publier d’image pour le moment. Vous devez avoir envie de le voir ensuite sur mon ordinateur. Blog