J'ai un code java (compile joliment pour Android) dans un projet de bibliothèque (LIB) que je veux utiliser dans un autre projet Android (A).Android - Junit - Projet testé utilise pot externe
Comme le code de LIB est peu susceptible de changer beaucoup, j'ai opté pour l'ajouter comme un pot à A. Cela fonctionne très bien.
J'ai un autre projet qui est un projet d'instrumentation Android, testant le premier projet Android (B).
donc ce que nous avons maintenant un LIB y compris comme un pot externe, et le test B A.
Le problème commence quand je veux accéder à partir du code écrit en B LIB. De ce que je vois, à moins que j'ajoute LIB comme un jar externe à B, il refuse de compiler (c'est-à-dire qu'il ne peut pas accéder au code dans le jar LIB qui est inclus dans A).
Je suis réticent à ajouter LIB comme un pot externe à B parce que: 1. Il ne se sent pas bien, et 2. Lors de l'exécution des tests, il échoue avec:
java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
J'ai trouvé Mike's question , mais sa solution ne couvre que la compilation en utilisant un script ant, et je préfère actuellement utiliser l'IDE Eclipse pour ce projet.
Une idée comment puis-je résoudre ce problème?
Résolu en suivant [Cet article de blog] (http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html). Il semble que je devrais avoir _exported_ LIB de A, pour le rendre accessible depuis B. –
Cela a aidé. J'ai exporté les dépendances Android à partir du projet principal (le jar était dans le dossier libs, donc il n'était pas possible de l'exporter directement), et dans le projet de test a également dû vérifier le projet principal. Maintenant ça marche. – Ixx