2014-05-21 21 views
17

Czy istnieje sposób użycia biblioteki .aar (z zasobami) w projekcie Eclipse Ant? Wiem, że nie ma prostego sposobu użycia formatu .aar jak w gradle, ale może jest jakiś sposób na rozpakowanie go i zaimportowanie go ręcznie?AAR w projekcie Eclipse ANT

Odpowiedz

14

Rzeczywiście, pliki aar są po prostu plikami archiwalnymi. Możesz go rozpakować i znaleźć pliki jar wraz z plikami ressources. Pytanie zostało już częściowo odpowiedział tutaj:

https://stackoverflow.com/a/21485222/1836870

Jeśli chcesz uzyskać ressources wewnątrz słoika, można spróbować zapakować jak to sugerowano w tej odpowiedzi:

https://stackoverflow.com/a/21417599/1836870

+2

jak rozpakować aar na Macu? –

+0

@ShajeelAfzal, to proste archiwum zip. po prostu zmień przedłużenie. https://support.apple.com/kb/ph19072?locale=en_US – Vyacheslav

16

Rozwiązanie było pomocne dla mnie

EDIT: .aar plik jest po prostu plik zip o następującej treści:

  1. AndroidManifest.xml (wymagany plik)
  2. klas. jar (wymagany plik)
  3. Res/(folder obowiązkowy)
  4. R.txt (wymagany plik)
  5. Aktywa/(opcja Folder)
  6. libs/* słoik (opcja Folder).
  7. JNI // *. Tak (opcja Folder)
  8. proguard.txt (opcjonalnie plik)
  9. lint.jar (opcjonalny plik)

Widzisz, w pliku .aar masz wszystko czego potrzebujesz do obsługi biblioteki w czasie zaćmienia.

stworzyć bibliotekę:

  1. utworzyć nowy projekt (projekt dalej biblioteki) do obszaru roboczego. Nie zapomnij oznaczyć go jako biblioteki.
  2. Opuść pusty projekt biblioteki folderów src.
  3. .aar Dekompresuje plik. Możesz zmienić jego nazwę na .zip i rozpakuj lub użyj dowolnych narzędzi.
  4. Skopiuj plik classes.jar do projektu biblioteki folderów biblioteki libs.
  5. Res folder zastępuje projekt biblioteki plikiem .aar res.
  6. Utworzono projekt zawierający niemal wszystko, czego potrzebujesz.

Zobaczmy teraz, jak skonfigurować projekt tak, aby odwoływał się do projektu biblioteki.

  1. W projekcie, którego chcesz użyć, biblioteka (odtąd, cel projektu) została dodana jako projekt biblioteki zależności.
  2. Otwórz plik AndroidManifest.xml .aar w pliku i upewnij się, że skopiowałeś wszystko, czego potrzeba (pozwolenia, czynności, usługi, odbiorniki ...) w celu projektu AndroidManifest.xml pliku.
  3. Jeśli tak, skopiuj całą zawartość pliku .aar zasobów folderu w projekcie docelowym folderu zasobów.
  4. Jeśli jest, skopiuj całą zawartość pliku .aar folder libs w projekcie docelowym folderu libs.

  5. Dokonaj czyszczenia obszaru roboczego i ponownie skompilowany.

http://www.iphonedroid.com/blog/utilizar-ficheros-aar-en-eclipse/#.Vh3krye1Gko

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. – Onik

+0

@Onik Dziękuję, będę –

+1

Dlaczego otrzymuję -1 za odpowiedź?! –

2

Trzon pracy może być wykonane przez wspaniały skrypt o nazwie deaar. Istota rzeczy wyjaśnia, ale w zasadzie działa:

ruby deaar.rb [path/to/aar] [output_directory] 

Wysyła prawie gotową do użycia bibliotekę. Następnie musisz uruchomić:

cd [output_directory] 
android update lib-project -p . -t android-xx 

Zastąp xx wersją Androida, na którą kierujesz reklamy. Teraz umieść ten katalog, gdzie znajdują się pliki build.xml i project.properties. Na koniec dodaj taką linię do swojego projektu.properties:

android.library.reference.1=./output_directory 

Należy zastąpić nazwę katalogu tym, który został utworzony. Możesz użyć ".2" i tak dalej dla dodatkowych bibliotek. I to wszystko!

+1

To pozwoliło mi zbudować aplikację Google VR w ramach projektu Android Mrówka! Wystarczy notatkę, która powinna być jasna, jest jeden krok, który należy wykonać, aby poprawnie zintegrować bibliotekę i to, że dany aar nie będzie miał żadnych właściwości project.properties, musisz go mieć i ustawić android.library = true (w inny przypadek dostaniesz UNEXPECTED WYJĄTKOWY WYJĄTKOWY poziom z klasą.jar podczas budowania projektu - dzięki http://stackoverflow.com/a/19332059/939781) – DNax

+0

Powyższa linia 'android update lib-project' będzie utwórz dla ciebie właściwość project.properties. – goobliata

Powiązane problemy