2016-12-19 22 views
5

Zbudowałem jeden projekt studio android. Chciałem go użyć jako biblioteki w innym projekcie. Śledziłem poniżej kroków na samo:Wygenerowany plik .aar podaje pusty classes.jar

  1. Zmieniono zastosować wtyczkę: 'com.android.application' do 'com.android.library'
  2. Usunięto applicationId z defaultConfig {}
  3. kliknął synchronizacji

To dało mi .aar plik w build -> wyjścia -> AAR -> myapp.aar

Zaimportowałem ten plik .aar do mojego innego projektu testowego. Śledziłem poniżej kroków do tego:

  1. File -> New -> Nowy moduł -> Importuj JAR/pakiet .aar -> myapp.aar
  2. W build.grade testu aplikacja dodana projekt kompilacji (ścieżka: ': myapp')
  3. Kliknięto na synchronizacji.

Ten produkowany jeden folder wewnątrz zewnętrznych bibliotek nazywa MojaApl-nieokreślone. Tam dostaję wszystkie pliki res, ale nie dostałem plików klasy wewnątrz classes.jar. Inside classes.jar Mam tylko MANIFEST.MF.

Czy robię coś nie tak, czy też brakuje mi czegoś?

Odpowiedz

-1

Zrobiono ten sam problem. Klasy rzeczywiście tam są lub przynajmniej były dla mnie. Wszystko, co musiałem zrobić, to kliknąć prawym przyciskiem myszy aplikację, do której importowałem moją bibliotekę. Kliknij Otwórz ustawienia modułu. Następnie przejdź do zależności po prawej stronie. Dodaj także tam swoją bibliotekę, aby kompilacja języka Java zakończyła się Twoją aplikacją.

0

Doświadczyłem tego samego problemu. Mój problem polegał na tym, że usunąłem zależność od mojego projektu bibliotecznego (w tym przypadku testCompile 'junit:junit:4.12'), ale nie usunąłem katalogu ani klas, które odwoływałyby się do interfejsów API z tej zależności. Plik aar został wyprowadzony do folderu kompilacji, ale nie byłem w stanie uzyskać dostępu do jego zawartości, gdy zawarłem go w moim projekcie aplikacji.

Po usunięciu nieużywanych klas i katalogów oraz ponownym synchronizowaniu mojego projektu bibliotecznego, mogłem wyprodukować działający aar.