2011-05-06 2 views
2

J'ai un mainproject qui fait référence à un projet de bibliothèque android. Mon mainproject devrait être construit, optimisé et obfusqué en utilisant Proguard. Par conséquent j'ai utilisé le buildscript décrit here. C'est environ 260 lignes. Trop pour l'afficher ici.Android build.xml Libraryproject

Maintenant, j'ai ajouté une référence à un projet de bibliothèque. Mon default.properties a été modifié avec android.library.reference.1=../RefProject. Depuis que je l'ai ajouté ce mon buildscript échoue avec l'erreur:

java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options? [java] at proguard.shrink.Shrinker.execute(Shrinker.java:148) [java] at proguard.ProGuard.shrink(ProGuard.java:275) [java] at proguard.ProGuard.execute(ProGuard.java:101) [java] at proguard.ProGuard.main(ProGuard.java:492) [java] Note: there were 1 references to unknown classes. [java] You should check your configuration for typos. [java] Ignoring unused library classes... [java] Original number of library classes: 2680 [java] Final number of library classes: 9

De plus, il serait cool si mon projet de bibliothèque sera optimisé et brouillées première et que celle utilisée par le projet principal.

Y a-t-il un moyen de construire d'abord le projet de bibliothèque (il n'a en fait pas de build.xml) et d'utiliser l'apk construit (ou est-ce un jar que?) Dans mon projet principal?

Répondre

1

Depuis ADT 14, tous les projets de bibliothèque doivent avoir leurs propres fichiers build.xml, comme indiqué here. Tout votre projet de bibliothèque sera construit avant votre projet principal, dans l'ordre spécifié dans votre fichier project.properties. Plus de détails sur le projet de bibliothèque, vous pouvez trouver dans official documentation.