Pobrałem niektóre gry 3D, rozpakowałem je i otrzymałem pliki .jar. Jak mogę korzystać z nich w systemie Android? Mam Galaxy S z systemem 2.1.
9
Chociaż Android używa Java, nie obsługuje normalnych plików JAR. Zamiast tego używa formatu specyficznego dla Androida o nazwie APK. Główna różnica polega na tym, że Android nie korzysta z normalnej wirtualnej maszyny Java, ale zawiera własną wirtualną maszynę Dalvik, zoptymalizowaną dla systemu Android.
Chciałbym częściowo nie zgodzić się z Ryanem Conradem i Onikiem.
Mam Samsung Spica, który został fabrycznie załadowany z aplikacją, gdy działała w wersji 1.6, a teraz w wersji 2.1 (obie oficjalne wersje Samsung India) - zwanych aplikacjami Java ME.
Korzystam z niego przez wiele aplikacji Java (przeznaczonych dla telefonów z systemem innym niż Android).
Oba są plikami JAR i po uruchomieniu za pomocą aplikacji Java ME oba działają zgodnie z oczekiwaniami.
Podsumowując, istnieje sposób na uruchamianie aplikacji JAR na Androidzie. Zgadzam się jednak ze wszystkim, co wspomniano o pakietach WRT APK i Dalvik.
źródło
Android nawet nie „używa” javy. Językiem, w którym kod jest napisany, jest Java, ale zestaw SDK systemu Android pobiera skompilowany kod bajtowy i konwertuje go na kod bajtowy Dalvik.
Tak naprawdę błędne jest przekonanie, że Android obsługuje Javę. Android uruchamia Dalvik, którego podstawowe biblioteki oparte są na frameworku Java, ale końcowe pliki binarne nie są takie same, a maszyny wirtualne również są zupełnie inne.
Podobnie jak w maszynie wirtualnej Dalvik nie będzie uruchamiany kod bajtowy Java, maszyna wirtualna Java nie uruchomi kodu bajtowego Dalvik.
Konwersja bibliotek do Dalvik jest prawdopodobnie możliwa, jeśli wszystkie funkcje są dostępne w Androidzie (lub dodatkowych bibliotekach), ale wszystko, co ma interfejs Java, nie będzie działać.
źródło
Jeśli plik jar dotyczy JavaME
Istnieje MicroEmulator, który emuluje JavaME z pomocą JavaSE. Dzięki temu można przekonwertować te pliki jar do apk i zainstalować je na urządzeniu. Proces jest opisany tutaj.
NetRunner zapewnia podobną funkcjonalność.
źródło
Nie, nie możesz instalować plików jar w Androidzie, aby zainstalować aplikacje ze jar, potrzebujemy wsparcia J2ME, którego nie ma w telefonach z Androidem.
źródło