web-dev-qa-db-fra.com

Comment convertir un projet Eclipse Android pour utiliser Ant pour la construction?

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

Comment puis-je atteindre cet objectif? J'ai essayé d'exporter un fichier de construction Ant mais je suis presque sûr que cela ne fonctionnera pas (pas plus que lors de l'exécution de fourmi avec le fichier exporté). Je ne sais pas grand-chose non plus sur Ant, donc des explications pourraient également aider.

EDIT: maintenant, je semble avoir réussi à créer le fichier de construction nécessaire, mais je dois ajouter les bibliothèques de projets comme admob.jar pour être vues par ant et utilisées pour construire. car j'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
39
Jason

Fonctionnement Android update project -p . sur la ligne de commande, dans le dossier de base de votre projet créera le build.xml et les fichiers de support pour une version Ant.

55
Christopher Orr

Vous pouvez créer un fichier de construction de fourmi directement à partir d'Eclipse lui-même. Dans le menu Fichier

Voici les étapes pour créer build.xml pour n'importe quel projet dans Eclipse

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

8
Ramesh Bugatha

Bien qu'il n'y ait pas de fonction "Exécuter la configuration vers Ant", vous pouvez toujours ouvrir la configuration d'exécution et afficher les paramètres.

Le Android Developers site a une section sur sing "Other IDEs" ; ici ils couvrent un peu comment utiliser Ant pour compiler si vous êtes déjà familier avec Ant.

1
John Giotta