2013-12-16 5 views
5

Zauważyłem, że niektóre biblioteki trzeba dodać, aby budować ścieżkę ręcznie (np. "Biblioteki referencyjne"), podczas gdy inne biblioteki działają dobrze, gdy po prostu wkładam słoik do \libs folder (np. "Prywatne biblioteki Androida").Eclipse " Android Private Libraries" vs " Biblioteki referencyjne"

Na przykład biblioteka wsparcia dla Androida działa poprawnie, jeśli jest ręcznie dodawana do ścieżki budowania, ale jaki jest tego powód?

Nie rozumiem jaka jest różnica i kiedy powinienem wybrać jedną opcję z drugiej i odwrotnie.

Odpowiedz

2

Android Biblioteki zawiera

  1. klas i/lub kodów Java
  2. Jar pliki, a
  3. Zasoby

Są również projekt. Nie mogą być uruchamiane bezpośrednio, ale skompilowane. Biblioteki prywatne nie posiada zasobów, są pliki jar, który zawiera pliki .class

Na przykład android biblioteka wsparcie działa dobrze, jeśli jest dodawany do budowy ścieżkę ... ale co jest tego powodem?

W szczególności istnieją użyteczne klasy wprowadzone w strukturze plastra miodu i powyżej, takie jak Fragment. Możesz chcieć użyć Fragment dla Gingerbread? Użyj biblioteki pomocy Androida.

+0

dziękuję za odpowiedź, czy mogę uzyskać efekt uboczny, jeśli zawsze dodam wszystkie biblioteki w ścieżce budowania jako biblioteki z odniesieniami? – AndreaF

+0

Jeśli pliki JAR, na podstawie mojego doświadczenia, możesz uzyskać 'ClassNotFoundException', jeśli wyeksportowałeś go do pliku APK (z włączonym Proguard). Upewnij się, że poprawnie skonfigurowałeś program. – Geros

+0

W bibliotekach projektu konflikty w plikach jar. Na przykład projekt biblioteki ma bibliotekę wsparcia, podczas gdy projekt aplikacji ma również bibliotekę wsparcia, otrzymasz kompilację, ponieważ mają one te same klasy i nazwę pliku. – Geros