J'ai un projet avec un dossier source lié. Ce projet dépend d'un autre projet (Demande de service), de sorte que les fichiers AIDL forts> et les classes passées à travers l'interface distante sont dans un dossier lié J'aimerais maintenant faire une fourmis de fourmis à partir de la ligne de commande. . J'ai réussi à obtenir un autre projet avec un seul bâtiment de répertoire SRC dans toutes les cibles à l'aide de l'exemple Tournant au projet avec le qui l'a eu plus loin dans le processus de construction - il pourrait trouver le Les fichiers .java en commun_src mais pas les fichiers .AID. Aucune surprise, j'ai réalisé que l'AIDL est une cible distincte. J'ai ajouté ensuite p> à la cible -Aiderl dans la version XML, et a échoué avec: p> donc c'est donc m'a bien eu bien et vraiment coincé. Idéalement, je voudrais modifier uniquement le fichier Build.Properties pour inclure le commun_src et le transmettre à l'ant_rules_r3.xml mais je ne peux pas penser à une façon de le faire. Je serais très reconnaissant si quelqu'un peut suggérer comment cela peut être fait. Strong> p> p> common_src code> partagé entre les deux projets. Cela fonctionne simplement avec les constructions Eclipse (un fichier source, deux projets, les changements dans un projet sont reflétés dans l'autre, comme cela devrait être).
build.xml code> dans les outils SDK. Il importe
ant_rules_r3.xml code> automatiquement et une fois que le
source.dir code> et
out.dir code> est défini dans le
build.properties code > Tout est assez indolore. P>
SRC code> et
commun_src code> dossiers, je ne peux pas l'obtenir pour construire. Tout d'abord, j'ai coupé et collé la cible de compilée et tous ceux qui dépendent de la build.xml code> au-dessus de la tâche de configuration. J'ai ajouté et défini l'élément
common_src code> au
build.properties code> et ajouté la dernière ligne ci-dessous sur la cible
-Compile code> (copiée depuis
ant_rules_r3.xml code>) dans le
Build xml code>: p>
6 Réponses :
Juste au cas où il y a un intérêt, je pensais répondre à ma propre question qui est maintenant résolue.
1) J'ai défini le commun_src dans la construction.properties p>
2) a ajouté la ligne p> dans une cible de compilation de la nervation dans la zone.xml au-dessus de la configuration (plus remplacer toutes les cibles qu'elle dépendait en coupant / colle de l'ant_rules_r3.xml)
3) a ajouté une nouvelle cible 'AIDL2' de la même manière que "AIDL" dans Build.XML, mais qui avait la ligne P>
key.store=xxxxxxxxxxxxx
key.alias=xxxxxxxxxxxxx
key.store.password=xxxxxxxxxxxxx
key.alias.password=xxxxxxxxxxxxx
J'ai eu un problème similaire, mais cela semble avoir été résolu pour moi par le paramètre suivant dans mon fichier build.properties: J'ai utilisé un chemin relatif pour lier mon SRC à autre_project, mais vous devriez pouvoir utiliser un chemin absolu. Si vous le faites, vous devriez probablement le mettre dans local.properties à la place. P> Note: strong> Selon les commentaires de Build.Properties, si ma version SDK <2.0 J'utiliserais cela Au lieu de: p>
Cela a parfaitement fonctionné pour moi, seulement que j'ai utilisé ":" au lieu de ";"; Et le fichier dont je devais éditer est Ant.properties, je pense que Android a été basculé pour inclure Ant.properties au lieu de build.properties.
@marmor Quelle version de SDK utilisez-vous? parce que pour moi cela échoue (20.0.1) avec les deux: et; Est-ce que cela fonctionne toujours pour vous?
@Nappy j'ai plus besoin de cette fonctionnalité, je ne l'ai donc pas testé depuis la mise à jour de l'ADT 20, vous pouvez voir quel fichier à modifier dans votre version Adt en démarrant un nouveau projet Android, appelant "Projet de mise à jour Android --Path. " Sur la ligne de commande, et que vous voyez les fichiers créés pour vous, recherchez un fichier Ant.Properties, qui devrait contenir une définition de dossier source.
Ajouter ; code> Liste séparée des sources à votre
anth.properties code> (N'oubliez pas d'inclure par défaut
src code> aussi):
source.dir=src-other;src
Je ne peux pas commenter parce que je n'ai pas assez de réputation, mais si l'ajout d'un dossier source fonctionne avec des réponses précédentes, il échoue plus tard lors de la construction de JAR:
compile: [javac] Compiling 463 source files to /home/xxx/documents/eclipse/xxx/deploy/xxx/bin/classes [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] Creating empty /home/xxx/documents/eclipse/xxx/deploy/xxx/bin/classes/fr/xxx/android/socialintegration/facebook/package-info.class [echo] Creating library output jar file... BUILD FAILED /home/xxx/applis/android/android-sdk-linux/tools/ant/build.xml:570: The following error occurred while executing this line: /home/xxx/applis/android/android-sdk-linux/tools/ant/build.xml:680: The following error occurred while executing this line: /home/xxx/applis/android/android-sdk-linux/tools/ant/build.xml:744: /home/xxx/documents/eclipse/xxx/deploy/xxx/src;../xxxdata/src does not exist.
la même chose pour moi. Lorsque je construis une bibliothèque, il échoue avec src; autre-src code> n'existe pas non plus avec ";" ou avec ":".
Voici la solution: p>
Mettez à jour votre build.xml pour plus d'une source.dir p>
Au moins sur des versions ultérieures des outils de construction, le problème est que la valeur mise dans cette propriété est transmise à un Le correctif est très simple, il suffit d'utiliser: p>
source.dirs=src1:src2:src3
Dupliqué possible de Comment spécifier plusieurs répertoires source de la bibliothèque Android Projet
@Ytai Si vous aviez pris la peine de regarder les dates des deux questions, vous auriez vu que cette question a été postée des années avant celle que vous avez citée déjà une réponse. Je ne vois pas comment quiconque ayant des cerveaux pourrait marquer cela comme une duplication.