Existem navegadores Android compatíveis com o carregamento de um applet Java no navegador?

20

Temos um cliente que está mudando do Windows Mobile (e IE Mobile) para dispositivos baseados no Android.

Temos algum software específico que implantamos em sua força de trabalho WM por um applet ActiveX carregado no IE Mobile, mas obviamente o Android não terá suporte para o ActiveX. Portanto, precisaremos refazer nosso aplicativo para uma plataforma específica do Android, e Java é a escolha óbvia para isso.

Existem navegadores Android compatíveis com o carregamento de um applet Java no navegador, da mesma maneira que um applet ActiveX carrega no IE (ou seja, ele se integra totalmente à experiência de navegação).

samthebrand
fonte

Respostas:

9

Perguntas semelhantes foram feitas aqui antes, a versão curta, miniaplicativos JAVA não são suportados no Android. A versão do JAVA usada no Android não é apenas o JAVA comum, portanto, você precisará primeiro obter um compilador JAVA no telefone para executar qualquer applet. O que não acho possível ou pelo menos viável.

Por que não baixar o SDK do Android e criar seu próprio aplicativo? Você não precisa vendê-lo no mercado, mas se seu aplicativo puder ser usado por outras pessoas, você poderá fazer o que pode ajudar a recuperar algum dinheiro gasto no desenvolvimento.


fonte
11
Why not just download the Android SDK and make your own app- porque nosso aplicativo precisa ser o mais multiplataforma possível. É incrivelmente complexo e as despesas gerais envolvidas na tradução de um aplicativo baseado na Web para um aplicativo independente são fenomenais. Obrigado pelo alerta. Portanto, é absolutamente impossível incorporar qualquer tipo de funcionalidade extra dentro de um navegador? O principal que estamos fazendo é coletar assinaturas, como um mensageiro faz depois de fazer uma entrega. No IE, esse era um pedaço de bolo com um pequeno controle ActiveX.
Se o seu aplicativo JAVA existia em um site para o qual você apontou o telefone, é possível que o código JAVA seja executado dessa maneira, mas ainda duvido que o SO Android não tenha uma maneira nativa de entender o código JAVA como você e eu Sei. A versão do JAVA no Android é modificada. Sua melhor aposta seria criar aplicativos para as diferentes plataformas ou usar um idioma diferente, como HTML5 ou flash (não suportado em dispositivos Apple sem jailbreak).
Desculpe pelo duplo mergulho, mas só para você saber, criar aplicativos para Apple e Android é realmente fácil agora. Eles têm sistemas GUI que podem fazer a maior parte do trabalho para você. Pode não ser tão difícil quanto você pensa. Eu pelo menos investigaria.
11
Como o Android 2.2 e superior (e alguns telefones com Android 2.1) podem executar miniaplicativos Flash no navegador, o Flash pode ser uma opção melhor para várias plataformas do que Java.
precisa saber é o seguinte
11
enquanto o Dalvik do Android não é compatível com bytecode com o bytecode da JVM; O código Java que não usa bibliotecas omitidas no Android (por exemplo, Swing / AWT) deve ser praticamente compatível com a fonte; portanto, você só precisará recompilar e a maioria dos materiais deve funcionar desde que não use essas bibliotecas omitidas .
Lie Ryan
3

As únicas duas opções em que posso pensar é criar um aplicativo móvel de plataforma cruzada HTML5 que funcione em todo o espectro. Dito isso, eu posso entender os ambientes corporativos que desejam se apegar ao IE para oferecer suporte a aplicativos ActiveX no navegador, o que está levando você a pensar que o Java na área de trabalho é o mesmo do Android, o que não é verdade .

Na maioria das vezes, e a segunda opção, o SDK abrange um subconjunto de Java 5, coleções, apache, etc, em termos de sintaxe, são idênticos, portanto, talvez uma recompilação na lógica de negócios e uma nova interface do usuário para o front-end para Plataforma Android. (Sim, você pode recompilar essa segmentação para o SDK do Android ...)

Em resumo, nada pode ser feito, a menos que haja um motivo e um esforço para reconstruí-lo para que seja compatível com dispositivos agora e no futuro.

Editar

Após os comentários deixados abaixo, para recapitular:

  • O navegador não suporta a execução de applets Java por si só. JRE! = Java Runtime do Android, também conhecido como DalvikVM. O Java para desktop usa o JavaVM / JRE como endossado pela Sun / Oracle e o OpenJava JDK, que é sancionado pela Oracle. JRE = Java Runtime Environment

  • O Terminal IDE que contém "um compilador java", é provável (eu o instalarei e relatarei comentários sobre este btw), é uma versão extremamente limitada do OpenJDK, é o único disponível nativamente para o ARM, de acordo com este blog que não pode executar aplicativos Java Windowing nativos, como Swing ou JavaBeans, devido ao simples motivo de a versão do Java Runtime Environment ser muito diferente para Android e altamente otimizada para o processador nativo.

Além disso, o DalvikVM não sabe nada sobre Swing, JavaBeans, etc. Por isso, explica de alguma maneira que o Java na área de trabalho não é o mesmo que o Java no Android.

Quanto a ter a visão de que o Android é muito parecido com o Linux, que ver que estou junto, é isso, é não Linux, o kernel é o Linux em si, mas as ferramentas user-terra são fornecidos pelo busybox , além disso, o run- C nativa A biblioteca de tempo no Android é chamada biônica e é limitada devido a processadores pequenos como o ARM. Quando comparada à versão para desktop do Linux, existe a biblioteca de tempo de execução fornecida pelo gcc - GNU C Library ou mais comumente conhecida como glibc - que suporta muitos mais idiossincráticos em C / C ++, como STL, Boost, tratamento completo de exceções. Essa é a minha opinião e é separada do tópico e se desvia do caminho batido aqui. :)

t0mm13b
fonte
O sistema corporativo precisa de java e não há nada que eu possa fazer sobre isso. A única coisa que posso fazer é configurar o tablet Android. O que eu não entendo completamente é por que um navegador de código aberto e o jre não podem funcionar em um tablet Android.
Felix
11
O navegador não suporta a execução de applets Java por si só. JRE! = Java Runtime do Android, também conhecido como DalvikVM. Java Desktop usa JavaVM tal como aprovado pela Sun / Oracle ea OpenJava JDK ...
t0mm13b
Direita. Eu não entendo por que o openjava jdk não pode ser compilado e instalado para rodar no android. Talvez eu tenha uma visão muito otimista de quanto android é como linux?
Felix
Curiosamente, existe o terminal-ide.com que contém um compilador java que parece.
Felix
11
Agradeço o afastamento do caminho, obrigado! Estou cada vez mais convencido agora de que é perfeitamente possível, apenas que ninguém fez o trabalho de configuração e compilação ainda. Devo acrescentar que sei que o dalvikvm nativo é irrelevante. Minha pergunta nunca foi sobre isso. Era sobre alguém compilar o desktop jre para android. Eu acho que já existe uma versão ARM. Apenas não um android.
Felix
2

O mais próximo que encontrei é http://www.apogee.com/products/cjre-a

Infelizmente, como indicado nessa página:

Observe que o Apogee suspendeu temporariamente o desenvolvimento de CJREs + A em junho de 2012, devido à demanda insuficiente por eles. Entre em contato com a Apogee se você estiver interessado em um CJRE + A direcionado a um dispositivo Android de sua escolha para distribuição de "volume" a seus clientes e / ou terceiros.

... e um download / demo não pode ser encontrado.

Retirado da página de produtos http://www.apogee.com/products , parece que seria ótimo:

CJRE + A - O “CJRE para Android” é adequado para dispositivos que executam o Android v4.x ou superior, que precisam executar os aplicativos Java SE 5 e SE 6, além de executar os aplicativos Android.

Ainda podemos sonhar. Eu não os contatei. Estou ciente de muitas empresas que procuram essa funcionalidade. Eu não posso imaginar que diminuirá muito rápido (ou, digamos, mais devagar que o flash)?

Não entrei em contato com o Apogee, vale a pena tentar ... Se alguém encontrar uma solução, mantenha-nos atualizados! Obrigado.

TryTryAgain
fonte
1

O Android ainda não suporta applets Java, nem o fará, sem grandes trabalhos.

O Java no Android não é Java 'real' - é uma versão escrita personalizada do Google. Os aplicativos Android podem ser escritos em Java, mas são convertidos em Dalvik no momento da compilação.

Como tal, seria quase impossível desenvolver um navegador compatível com Java Applets.

Liam W
fonte
Existe uma razão pela qual navegadores de terceiros não podem incluir suporte para plugins java? Percebo que m0rtadelo em stackoverflow.com/questions/2433338/… realmente afirma ter conseguido funcionar! Na verdade, só estou interessado em fazê-lo funcionar em um tablet se isso fizer alguma diferença.
felix
11
@ Felix porque o Android não o inclui no sistema. O m0rtadelo estava executando um sistema operacional inteiro dentro do dispositivo, e foi assim que o sistema funcionou.
Liam W
OK. Não me importo de fazer isso no meu tablet como solução alternativa, se não for perigoso e for a única opção. Talvez essa seja uma pergunta separada.
Felix