Mam trochę kodu java (kompiluje się ładnie na Androida) w projekcie biblioteki (LIB), który chcę użyć w innym projekcie Android (A).Android - Junit - Testowany projekt wykorzystuje zewnętrzny Jar
Ponieważ kod LIB raczej nie zmieni się bardzo, zdecydowałem się dodać go jako słoik do A. Działa dobrze.
Mam inny projekt, który jest projektem przyrządu Android, testując pierwszy projekt Android (B).
Więc co mamy teraz jest A tym LIB jako zewnętrzny słoika i B Testy A.
Problem zaczyna się, gdy chcę uzyskać dostęp z kodem B napisany w lib. Z tego co widzę, chyba że dodaję LIB jako zewnętrzny słoik do B, odmawia on kompilacji (to znaczy nie może uzyskać dostępu do kodu w słoju LIB, który jest zawarty w A).
Jestem niechętny, aby dodać LIB jako zewnętrzny słoik do B, ponieważ: 1. To nie w porządku, a 2. Po uruchomieniu testów nie powiedzie się z:
java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
znalazłem Mike's question , ale jego rozwiązanie obejmuje tylko kompilowanie za pomocą skryptu mrówkowego i obecnie wolę używać IDE Eclipse dla tego projektu.
Każdy pomysł, jak rozwiązać ten problem?
Rozwiązane przez następujące [Ten wpis na blogu] (http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html). Wygląda na to, że powinienem mieć _exported_ LIB z A, aby było dostępne z B. –
To pomogło. Wyeksportowałem zależności android z głównego projektu (słoik znajdował się w folderze libs, więc nie można było wyeksportować go bezpośrednio), aw projekcie testowym również musiał sprawdzić główny projekt. Teraz działa. – Ixx