Si vous développez des applications pour Android sous Eclipse, vous utilisez très certainement le plugin ADT fourni par Google. Ce plugin fourni de très nombreux outils et est très pratique.

Néanmoins, il connait quelques limitations. Par exemple, il n’est pas possible de lier les sources ou la JavaDoc des librairies externes que vous utilisez. En effet, si vous vous rendez dans “Properties -> Java Build Path -> Librairies -> Android Dependencies”, vous verrez le message “non modifiable” sur les lignes “Source attachment” et “Javadoc location” des JARs externes et le bouton “Edit…” sera grisé.

Pour contourner cette limitation, il faut créer manuellement un fichier properties comme expliqué ci-dessous.

Par exemple, si vous avez le JAR external-lib-1.0.0.jar dans le répertoire libs, vous devez créer le fichier external-lib-1.0.0.jar.properties dans ce même répertoire. Puis il faut l’éditer en renseignant les informations suivantes :

src=../ressources/lib/external-lib-1.0.0-sources.jar
doc=../ressources/lib/external-lib-1.0.0-javadoc.jar

Notez que les JARs des sources et de la JavaDoc ne sont pas mis dans le répertoire libs mais ressources/lib car sinon Proguard peut provoquer des erreurs avec certains composants car n’acceptera pas de rencontrer deux fois le même contenu et affichera des messages d’erreurs tels que :

[apkbuilder] Found duplicate file for APK: org/lib/pkg/commons.properties
[apkbuilder] Origin 1: C:\projects\workspace-android\android-commons\libs\external-lib-1.0.0-sources.jar
[apkbuilder] Origin 2: C:\projects\workspace-android\android-commons\libs\external-lib-1.0.0.jar

BUILD FAILED
C:\projects\workspace-android\my-android-project\build.xml:70: The following error occurred while executing this line:
C:\projects\android\sdk\tools\ant\build.xml:951: The following error occurred while executing this line:
C:\projects\android\sdk\tools\ant\build.xml:962: The following error occurred while executing this line:
C:\projects\android\sdk\tools\ant\build.xml:319: com.android.sdklib.build.DuplicateFileException: Duplicate files at the same path inside the APK

J’espère que cette petite astuce vous aidera à développer plus efficacement vos applications pour Android. 😉