2010-06-21 9 views
2

Hallo,Script de génération ant: impossible de trouver android.jar

Je ne peux pas compiler mon projet en utilisant un script de génération ant. Le message d'erreur:

Ant cannot find symbol... 

J'ai lu sur la création build.xml, mais il semble qu'il ne suffit pas. Mon répertoire de projet a la disposition suivante:

poject

  • src
    • gen
    • ...

libarie_with_needed_java.file

  • src
    • clients
    • helper

Comment puis-je travailler avec des références externes? Ant ne peut pas trouver android jar. Le fichier build.xml se présente comme suit:

<?xml version="1.0" encoding="UTF-8"?> 
==================================================================== --> 
<project name="test" default="main" basedir="."> 

<!-- ==================================================================== 
     Declare global properties for reuse and control of script 
    ==================================================================== --> 

<!-- For project source files --> 
<property name="src.dir" location = "src/de/test"/> 
<property name="common.link" location = "../test-common/common"/> 
<!-- For compiled/output files. --> 
<property name="build.dir" location = "build/source"/> 
<!-- For class libraries and dependency files. --> 
<property name="lib.dir" location = "lib"/> 
<property name="sdk.dir" location = "../android-sdk-windows/" />  

<!-- ==================================================================== 
     Einstiegspunnkt - Target main 
    ==================================================================== --> 
<target name="main" depends="compile" description="getting started"> 
    <echo message="start main target"/> 
</target> 

<!-- ==================================================================== 
     Übersetzen - Target compile 
    ==================================================================== --> 
<target name="compile" depends="init"> 
    <echo message="start compile target"/> 

    <javac srcdir="${src.dir}" destdir="${build}" debug="on"/> 
    <classpath refid="classpath"/> 
</target> 

<!-- ==================================================================== 
     Initialisierungen - Target init 
    ==================================================================== --> 
<target name="init" description="create needed directories"> 
    <echo message="start init target"/> 
    <mkdir dir="${build}"/> 
</target> 

</project> 

J'ai créé ce fichier en utilisant des exemples de sites Web et le fichier Eclipse généré.

J'ai supprimé les fichiers de propriétés externes suivantes (pour simplifier le problème):

<property file="local.properties" /> 
<property file="build.properties" /> 
<property file="default.properties" />   

J'ai besoin d'inclure les fichiers .java externes à partir d'un autre endroit src.

J'ai besoin de savoir comment copier les fichiers externes dans le projet et tout compiler ensemble.

Merci, Marcel

Répondre

1

fichiers contiennent généralement propriété des valeurs pour les variables qui sont utilisées dans le script principal de construction.

Pour savoir pourquoi android.jar ne peut pas être trouvé, faites ceci:

  1. Accédez au répertoire contenant build.xml.
  2. Parcourez un répertoire (../).
  3. Naviguez dans android-sdk-windows/platforms/android-4/.
  4. Assurez-vous que android.jar se trouve dans ce répertoire.

Sinon, vous devrez modifier le chemin d'accès à l'emplacement de android.jar, par rapport au fichier build.xml.

+0

oui, il est à l'intérieur, je pense que je ne le pense faux dans le build.xml – marcel

+0

@marcel: Utilisez la tâche d'écho Ant (http: // ant .apache.org/manual/Tasks/echo.html) pour afficher les valeurs des variables dans le script. Pour une raison quelconque, le fichier JAR ne le fait pas dans le classpath. –

+0

merci pour votre réponse. Je pense que j'inclus le faux sdk ou le décrit faux dans le build.xml! S'il vous plaît pouvez-vous me montrer comment le faire correctement? Marcel – marcel

1

Vous définissez une propriété appelée sdk.dir avec l'emplacement de votre SDK, mais vous ne l'utilisez nulle part ailleurs dans votre fichier build.xml.

Essayez d'ajouter ceci dans le fichier build.xml

<path id = "classpath"> 
    <fileset dir = "${lib.dir}" includes = "*.jar"/> 
    <fileset dir = "${sdk.dir}" includes = "*.jar"/> 
</path> 
Questions connexes