2012-10-15 30 views
6

jest możliwe, aby uruchomić plik wykonywalny jar (na podstawie wiersza poleceń) w systemie Android? jeden z moich znajomych powiedział mi, że możliwe jest uruchamianie plików wykonywalnych zapisanych w C. Czy to możliwe również dla java? Uruchomę narzędzie przez powłokę adb.Uruchamianie pliku wykonywalnego jar w systemie Android

Odpowiedz

5

Można zainstalować aplikację zbudowaną jako APK poprzez adb:

adb install my_apk_file.apk 

I raz wewnątrz adb shell, można uruchomić aplikację APK przy użyciu komendy am. See this Stack Overflow article

Ale nie sądzę, że istnieje sposób na bezpośrednie uruchomienie pliku JAR w sposób, w jaki można to zrobić na komputerowym systemie operacyjnym, ponieważ Android nie używa standardowej maszyny wirtualnej Java.

Myślę, że musisz umieścić swój plik .jar wewnątrz minimalnej aplikacji systemu Android, która wywołuje słoik i wyświetla wyniki na standardowe wyjście. Następnie skompilowałbyś ten pakiet APK i zainstalował/uruchom go tak, jak opisano powyżej.

+0

Chcę zbudować narzędzie, które otrzyma dane wejściowe z wiersza poleceń jako podstawowe narzędzie w Linuksie. Czy jeśli otworzę słoik w apk, będę mógł uzyskać tę samą funkcjonalność co narzędzie wiersza poleceń? –

+1

Wątpliwe. Chociaż możesz wprowadzać dane wejściowe z linii poleceń jako dodatki do intencji po uruchomieniu pliku APK przez am. – mportuesisf

+1

Cóż, myślę, że pisanie aplikacji c zamiast java będzie lepszym rozwiązaniem. –

5

Android używa maszyny Dalvik VM, podczas gdy maszyna wirtualna Java jest potrzebna do uruchomienia pliku jar. Więc nie, nie możesz uruchomić pliku jar na Androidzie.

1

Jedynym problemem z uruchomieniem słoja w systemie Android jest JVM, która pod Androidem jest maszyną wirtualną Dalvik, która nie może uruchomić skompilowanych programów Java JSE.

Można jednak użyć Jbed kursujący całą JSE JVM pod Androida: http://jbed.en.malavida.com/android/

0

Faktycznie, można uruchomić kod java poprzez uiautomator że jest. Utwórz słoik, dodaj klasy stylów junitowych i uruchom go za pomocą narzędzia uiautomator.

+0

... na przykład? – user1133275

Powiązane problemy