2011-10-21 3 views
4

Après avoir installé les outils Android SDK révision 14 (ant version 1.8.2 pour ant -version) pour installer et tester nos applications sur Android 4.0 (ICS), j'ai remarqué que notre script de génération automatique échoue maintenant. Le script de construction exécute une commande ant pour construire l'apk, qui, après la mise à jour de la révision, se plaignait que le fichier build.xml soit obsolète et exécute le projet de mise à jour ant -p pour résoudre ce problème. Notre projet a un projet de haut niveau et deux projets de bibliothèque auxquels il fait référence, tous développés dans IntelliJ. J'ai exécuté la commande de projet de mise à jour dans chaque dossier de projet après avoir supprimé l'ancien fichier build.xml. Maintenant, je reçois le message suivant:Problème Ant après la mise à jour des outils SDK Android vers la révision 14

<SDK_DIR>/tools/ant/build.xml:466: The following error occurred while executing this line: 
<SDK_DIR>/tools/ant/build.xml:539: The following error occurred while executing this line: 
<SDK_DIR>/tools/ant/build.xml:568: null returned: 1 

J'ai inclus le code pour les principaux projets de projet et de bibliothèque build.xml fichier ci-dessous (identique pour chacun):

<?xml version="1.0" encoding="UTF-8"?> 
<project name="LaunchActivity" default="help"> 
    <loadproperties srcFile="local.properties" /> 
    <property file="ant.properties" /> 
    <loadproperties srcFile="project.properties" /> 
    <fail 
     message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" 
     unless="sdk.dir" 
/> 
    <import file="${sdk.dir}/tools/ant/build.xml" /> 
</project> 

Avec la nouvelle project.properties fichiers (ci-dessous): AppMain (projet non-bibliothèque):

android.library.reference.1=../Common 
android.library.reference.2=../facebook 
# Project target. 
target=Google Inc.:Google APIs:8 

commun (projet de bibliothèque):

android.library=true 
# Project target. 
target=Google Inc.:Google APIs:8 

facebook (projet de bibliothèque):

android.library=true 
# Project target. 
target=Google Inc.:Google APIs:8 

Vous cherchez un moyen de savoir ce qui est au numéro de ligne dans le message d'erreur et/ou la question à obtenir ce à courir. J'ai également un fichier build.properties que j'avais inclus dans le fichier build.xml de AppMain pour spécifier les valeurs key.alias key.store pour créer une apk signée, que je suppose pouvoir rajouter dans le build.xml après ce problème est résolu.

Répondre

7

L'erreur que j'ai posté était assez vague. Donc, en creusant un peu plus, j'ai découvert qu'il y avait un moyen de spécifier un fichier journal Ant. Je l'ai fait et j'ai découvert qu'il explosait lors de la compilation. Il s'avère que le nouveau compilateur n'a pas aimé que quelques noms de ressources dans les classes de génération R soient les mêmes. J'ai rebaptisé ceux qui étaient en conflit et après avoir patiné quelques autres problèmes de compilation (les déclarations de cas avec R.id était un non-non dans cette version du compilateur apparemment) j'ai réussi à faire fonctionner cela. Le Ant LogFile était certainement le moyen d'aller déboguer ce problème. Voici ce que j'utilisé pour générer un fichier journal tout en exécutant la commande de libération ant:

ant -logfile //antLogFile.txt version -f ./AppMain/build.xml

+0

+1 pour l'idée de fichier journal sur la construction de fourmis – oak

1

Dans mon cas, cette erreur simplement parce qu'une de mes ressources avait une lettre majuscule dans le nom de fichier. J'ai renommé la ressource et les références, et l'erreur est partie.

Questions connexes