Czy są jakieś przeglądarki Androida, które obsługują ładowanie apletów Java w przeglądarce?


20

Mamy klienta, który przestawia się z Windows Mobile (i IE Mobile) na urządzenia z systemem Android.

Mamy pewne specjalne oprogramowanie, które wdrażamy na ich pracowników WM za pomocą apletu ActiveX ładowanego w IE Mobile, ale oczywiście Android nie będzie obsługiwał ActiveX. Będziemy więc musieli ponownie wykonać naszą aplikację na platformę przeznaczoną dla systemu Android, a Java jest oczywistym wyborem.

Czy są jakieś przeglądarki systemu Android, które obsługują ładowanie apletów Java w przeglądarce, w taki sam sposób, w jaki aplet ActiveX ładuje się w IE (tj. W pełni integruje się z przeglądaniem).

Odpowiedzi:


9

Podobne pytania zadawano tutaj wcześniej, krótka wersja, aplety JAVA nie są obsługiwane na Androidzie. Wersja JAVA używana w Androidzie to nie tylko Twoja wersja JAVA dla młyna, więc aby uruchomić aplety, musisz najpierw uruchomić kompilator JAVA na telefonie. Które nie uważam za możliwe lub przynajmniej wykonalne.

Dlaczego nie po prostu pobrać zestawu Android SDK i stworzyć własną aplikację? Nie musisz sprzedawać jej na rynku, ale jeśli Twoja aplikacja może być używana przez innych, możesz to zrobić, co może pomóc odzyskać część pieniędzy wydanych na rozwój.


1
Why not just download the Android SDK and make your own app- ponieważ nasza aplikacja musi być możliwie wieloplatformowa. Jest niezwykle złożony, a koszty związane z tłumaczeniem go z aplikacji internetowej na samodzielną są fenomenalne. Dzięki za heads-upy. Czy więc absolutnie niemożliwe jest osadzenie jakiejkolwiek dodatkowej funkcjonalności w przeglądarce? Najważniejsze, co robimy, to zbieranie podpisów, tak jak robi to kurier po dostarczeniu przesyłki. W IE był to bułka z masłem z niewielką kontrolką ActiveX.

Jeśli Twoja aplikacja JAVA istniała na stronie internetowej, na którą wskazałeś telefon, być może możesz uruchomić kod JAVA w ten sposób, ale wciąż wątpię, ponieważ system operacyjny Android nie ma natywnego sposobu na zrozumienie kodu JAVA, tak jak ty i ja znać to. Wersja JAVA na Androida jest zmodyfikowana. Najlepszym rozwiązaniem byłoby stworzenie aplikacji dla różnych platform lub użycie innego języka, takiego jak HTML5 lub flash (nieobsługiwany na urządzeniach Apple bez jailbroke).

Przepraszam za podwójny spadek, ale dla pewności tworzenie aplikacji dla Apple i Androida jest teraz naprawdę łatwe. Mają systemy GUI, które mogą wykonać większość pracy za Ciebie. To może nie być tak trudne, jak myślisz. Chciałbym przynajmniej zbadać.

1
Ponieważ system Android 2.2 i nowsze (i niektóre telefony z Androidem 2.1) mogą obsługiwać aplety Flash w przeglądarce, Flash może być lepszym wyborem dla wielu platform niż Java.
GAThrawn

1
podczas gdy Dalvik Androida nie jest zgodny z kodem bajtowym JVM; Kod Java, który nie korzysta z bibliotek pominiętych w Androidzie (np. Swing / AWT), powinien być w dużej mierze kompatybilny ze źródłami, dlatego konieczna będzie tylko ponowna kompilacja, a większość rzeczy powinna działać, o ile nie używa tych pominiętych bibliotek .
Lie Ryan,

3

Jedyne dwie opcje, które mogę wymyślić, to stworzenie wieloplatformowej aplikacji mobilnej HTML5, która będzie działała w całym spektrum, biorąc pod uwagę, że rozumiem środowiska korporacyjne, które chcą lgnąć do IE w celu obsługi aplikacji ActiveX w przeglądarce, które prowadzi do myślenia, że ​​Java na komputerze jest taka sama jak na Androidzie, co nie jest prawdą .

W przeważającej części, a druga opcja, zestaw SDK obejmuje podzbiór Java 5, kolekcje, apache itp. Pod względem składniowym są identyczne, więc może może być rekompilacja logiki biznesowej i nowy interfejs użytkownika dla interfejsu Platforma Android. (Tak, możesz ponownie skompilować to celowanie w Android SDK ...)

Krótko mówiąc, nie da się tego zrobić, chyba że istnieje motywacja i chęć przebudowania go w taki sposób, aby był kompatybilny z urządzeniami teraz iw przyszłości.

Edytować

Po komentarzach pozostawionych poniżej, podsumowując:

  • Przeglądarka sama w sobie nie obsługuje uruchamiania apletów Java. JRE! = Java Runtime dla Androida, znany również jako DalvikVM. Desktop Java używa JavaVM / JRE zatwierdzonego przez Sun / Oracle i OpenJava JDK, który jest sankcjonowany przez Oracle. JRE = Java Runtime Environment

  • Terminal IDE, który zawiera „kompilator java”, są szanse (zainstaluję go i przekażę informację zwrotną na temat tego btw), jest to bardzo ograniczona wersja OpenJDK, jest to jedyna dostępna natywnie dla ARM, zgodnie z tym blogiem które nie mogą wykonywać rodzimych aplikacji Java Windowing, takich jak Swing lub JavaBeans, z tego prostego powodu, że wersja Java Runtime Environment jest bardzo różna dla Androida i wysoce zoptymalizowana dla natywnego procesora.

Ponadto DalvikVM nie zna zero na temat Swinga, JavaBeans itp., Dlatego wyjaśnia, że ​​Java na pulpicie nie jest tym samym co Java na Androidzie.

Jeśli chodzi o pogląd, że Android jest bardzo podobny do Linuksa, ten pogląd, z którym stoję, jest taki, że to nie jest Linux, jądro to sam Linux, ale narzędzia dla użytkowników są dostarczane przez busybox , a ponadto natywny C-run- biblioteka czasu w systemie Android nazywa się bioniczna i jest ograniczona ze względu na te słabe procesory, takie jak ARM. W porównaniu z wersją stacjonarną dla Linuksa, istnieje biblioteka czasu wykonywania dostarczana przez gcc - GNU C Library lub bardziej powszechnie znana jako glibc - która obsługuje znacznie więcej cech charakterystycznych dla C / C ++, takich jak STL, Boost, pełna obsługa wyjątków. Takie jest moje zdanie i jest ono odrębne od tematu i zbaczania z utartej ścieżki. :)


System korporacyjny potrzebuje Java i nic nie mogę na to poradzić. Jedyne, co mogę zrobić, to skonfigurować tablet z Androidem. Nie do końca rozumiem, dlaczego przeglądarka typu open source i jre nie może działać na tablecie z Androidem.
felix

1
Przeglądarka sama w sobie nie obsługuje uruchamiania apletów Java. JRE! = Java Runtime dla Androida, znany również jako DalvikVM. Desktop Java korzysta z JavaVM zatwierdzonego przez Sun / Oracle i OpenJava JDK ...
t0mm13b

Dobrze. Nie rozumiem, dlaczego nie można skompilować i zainstalować openjava jdk w systemie Android. Może mam zbyt optymistyczny pogląd na to, jak bardzo Android jest podobny do Linuksa?
Felix

Co ciekawe, istnieje terminal-ide.com, który zawiera kompilator Java.
Felix

1
Doceniam zbaczanie ze ścieżki, dzięki! Coraz bardziej jestem przekonany, że jest to całkowicie możliwe, po prostu nikt jeszcze nie wykonał prac konfiguracyjnych i kompilacyjnych. Powinienem dodać, że wiem, że rodzimy dalvikvm nie ma znaczenia. Moje pytanie nigdy nie dotyczyło tego. Chodziło o kogoś, kto kompiluje środowisko pulpitu dla Androida. Myślę, że jest już wersja ARM. Po prostu nie android.
felix,

2

Najbliższe, jakie znalazłem, to http://www.apogee.com/products/cjre-a

Niestety, jak stwierdzono na tej stronie:

Należy pamiętać, że Apogee tymczasowo zawiesił dalszy rozwój CJRE + A w czerwcu 2012 r. Z powodu niewystarczającego popytu na nie. Skontaktuj się z Apogee, jeśli jesteś zainteresowany CJRE + A skierowanym na wybrane urządzenie z systemem Android w celu dystrybucji „wolumenu” wśród klientów i / lub innych stron trzecich.

... i nigdzie nie można znaleźć pobrania / wersji demo.

Na stronie ich produktów http://www.apogee.com/products brzmi to tak, jakby wspaniale było mieć:

CJRE + A - „CJRE dla Androida” jest odpowiedni dla urządzeń z Androidem v4.x lub nowszym, które oprócz aplikacji na Androida muszą uruchamiać aplikacje Java SE 5 i SE 6.

Nadal możemy śnić. Nie skontaktowałem się z nimi. Znam wiele firm, które szukają tej funkcjonalności. Nie mogę sobie wyobrazić, że zaniknie zbyt szybko (lub powiedzmy wolniej niż flash)?

Nie skontaktowałem się z Apogee, być może warto spróbować ... Jeśli ktokolwiek znajdzie rozwiązanie, informuj nas na bieżąco! Dzięki.


1

Android nadal nie obsługuje apletów Java, ani nie będzie, bez większych prac.

Java w Androidzie nie jest „prawdziwą” Javą - to niestandardowa wersja napisana przez Google. Aplikacje na Androida mogą być napisane w Javie, ale podczas kompilacji są one konwertowane na Dalvik.

W związku z tym prawie niemożliwe byłoby stworzenie przeglądarki zgodnej z apletami Java.


Czy istnieje powód, dla którego przeglądarki innych firm nie mogły obsługiwać wtyczek Java? Zauważyłem, że m0rtadelo na stackoverflow.com/questions/2433338/… faktycznie twierdzi, że to działa! Tak naprawdę jestem zainteresowany tylko tym, aby działał na tablecie, jeśli to robi jakąkolwiek różnicę.
felix

1
@ Fix, ponieważ Android nie ma go w systemie. m0rtadelo uruchamiał cały system operacyjny na swoim urządzeniu i tak to działało.
Liam W

OK .. Nie mam nic przeciwko robieniu tego na moim tablecie jako obejście, jeśli nie jest niebezpieczne i jest to jedyna opcja. Może to osobne pytanie.
Felix

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.