39 votes

Comment convertir un projet Android Eclipse sous Ant pour la compilation?

J'ai un projet Android dans Eclipse, je voudrais le convertir à être construit avec Ant à la place.

Comment puis-je y parvenir? J'ai essayé d'exporter un fichier Ant, mais je suis sûr que cela ne va pas au travail (ni lors de l'exécution de fourmi avec le fichier exporté). Je ne sais pas beaucoup au sujet de la Fourmi soit donc quelques explications seraient aussi utiles.

EDIT: maintenant j'ai l'impression d'avoir réussi à créer les fichier de build, mais j'ai besoin d'ajouter des projets libs comme admob.jar pour être vu par les fourmis et utilisés pour les construire. comme je l'obtiens l'erreur suivante

        -dex:
     [echo] Converting compiled files and external libraries into C:\Users\Jason
\Documents\Programming\Android\Android SVN\trunk\GPSAlarm\BusSnooze\bin\classes.
dex...
    [apply]
    [apply] UNEXPECTED TOP-LEVEL EXCEPTION:
    [apply] com.android.dx.util.ExceptionWithContext
    [apply]     at com.android.dx.util.ExceptionWithContext.withContext(Exceptio
nWithContext.java:46)
    [apply]     at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r.java:340)
    [apply]     at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.ja
va:131)
    [apply]     at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.jav
a:85)
    [apply]     at com.android.dx.command.dexer.Main.processClass(Main.java:297)

    [apply]     at com.android.dx.command.dexer.Main.processFileBytes(Main.java:
276)
    [apply]     at com.android.dx.command.dexer.Main.access$100(Main.java:56)
    [apply]     at com.android.dx.command.dexer.Main$1.processFileBytes(Main.jav
a:228)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.processArchive(Class
PathOpener.java:245)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPath
Opener.java:130)
    [apply]     at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe
ner.java:108)
    [apply]     at com.android.dx.command.dexer.Main.processOne(Main.java:245)
    [apply]     at com.android.dx.command.dexer.Main.processAllFiles(Main.java:1
83)
    [apply]     at com.android.dx.command.dexer.Main.run(Main.java:139)
    [apply]     at com.android.dx.command.dexer.Main.main(Main.java:120)
    [apply]     at com.android.dx.command.Main.main(Main.java:87)
    [apply] Caused by: java.lang.NullPointerException
    [apply]     at com.android.dx.cf.code.ConcreteMethod.<init>(ConcreteMethod.j
ava:84)
    [apply]     at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato
r.java:243)
    [apply]     ... 14 more
    [apply] ...while processing <init> ()V
    [apply] ...while processing com/google/android/apps/analytics/AnalyticsRecei
ver.class
    [apply]
    [apply] 1 error; aborting

55voto

Christopher Orr Points 58514

Exécuter android update project -p . sur la ligne de commande, dans le dossier de base de votre projet, créera les build.xml nécessaires et les fichiers de prise en charge d’une génération Ant.

8voto

Ramesh Bugatha Points 431

Vous pouvez créer un fichier de construction pour ant directement à partir de l'éclipse lui-même. Depuis le menu Fichier

Voici les étapes à suivre pour créer build.xml pour tout projet en éclipse

Fichier -> Exporter -> Général -> Ant Buildfiles et choisissez le projet requis pour créer un fichier de construction.

1voto

John Giotta Points 5606

Bien qu’il n’existe pas de fonctionnalité "Run Configuration to Ant", vous pouvez quand même ouvrir la configuration d’exécution et afficher les paramètres.

Le site Android Developers contient une section sur l' utilisation de "Autres IDE" ; ici, ils couvrent un peu l'utilisation de Ant pour compiler si vous connaissez déjà Ant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X