Como posso instalar arquivos .jar no meu Android?


9

Baixei alguns jogos em 3D, descompactei-os e obtive arquivos .jar. Como posso usá-los no Android? Eu tenho um Galaxy S rodando 2.1.

Respostas:


13

Embora o Android use java, ele não suporta arquivos JAR normais. Em vez disso, ele usa um formato específico do Android chamado APK. A principal diferença é que o Android não usa a Java Virtual Machine normal, mas contém sua própria Dalvik Virtual Machine otimizada para o Android.


você quer dizer que não consigo instalar o arquivo jar no android 2.1.
Jeevan Bhatt

5
@Jeevan Bhatt: Exatamente. Isso pode mudar no futuro (se alguém escrever uma JVM para Android), mas eu não prenderia a respiração.
Onik

Eu pesquisei na internet e vim a saber que o Android suporta apenas o arquivo apk, então eu preciso converter .jar em .apk por algum conversor, é verdade?
Jeevan Bhatt

4
Sim, existem alguns conversores, mas estes não são muito confiáveis. O problema é que o Android usa uma parte de toda a biblioteca java e adiciona suas próprias bibliotecas para controlar a maioria dos recursos. Por exemplo, as classes da Interface Gráfica do Usuário não podem ser usadas no Android (por exemplo, swing). Além disso, o conversor precisa reescrever todos os eventos da interface do usuário, como a tela sensível ao toque / teclado. Aparentemente, alguns conversores podem fazer isso para os applets MIDP (J2ME) usados ​​em telefones mais antigos, mas os aplicativos Java normais (provavelmente) não funcionarão. Você pode experimentar os conversores, mas provavelmente o resultado será lento, com erros ou com falha.
Onik

9

Eu gostaria de discordar parcialmente de Ryan Conrad & Onik.

Eu tenho um Samsung Spica e ele foi pré-carregado com um aplicativo enquanto estava executando a v1.6 e agora executando o 2.1 (ambas as versões oficiais da Samsung Índia) - chamado Java ME Apps.

Estou executando vários aplicativos Java (destinados a telefones não Android) através dele.

Ambos são arquivos JAR e, uma vez executados pelo aplicativo Java ME, são executados conforme o esperado.

Para resumir, existe uma maneira de executar aplicativos JAR no Android. No entanto, concordo com tudo o mais mencionado APKs WRT e Dalvik.


Que a Fórmula 1 App é ligada parece ser um aplicativo nativo do Android e não um Java / J2ME app ..
Irfan

11
Agora é ... quando eu o publiquei originalmente, não havia uma versão do Android - apenas a do J2ME. ;-)
Sparx

como você fez isso?
inquisitivo

4

O Android nem sequer "usa" o java. A linguagem na qual o código está escrito é Java, mas o SDK do Android pega o bytecode compilado e o converte no bytecode Dalvik.

Portanto, é realmente um equívoco que o Android execute java. O Android executa o Dalvik, que as bibliotecas principais são baseadas na estrutura Java, mas os arquivos binários finais resultantes não são os mesmos e as máquinas virtuais também são completamente diferentes.

Assim como a Dalvik VM não executará o bytecode Java, a Java VM não executará o bytecode Dalvik.

A conversão de bibliotecas para Dalvik provavelmente é possível, se todos os recursos estiverem disponíveis no Android (ou bibliotecas adicionais), mas qualquer coisa que tenha uma interface de usuário Java, não funcionará.


Eu realmente discordo. O Google não escreveu sua própria linguagem chamada Java, simplesmente acredito que pegou o OpenJDK e o nomeou Dalvik etc etc para marketing.
YumYumYum 11/11

11
Você já comparou o código de dalvik byte com o código de java byte?
Ryan Conrad

11
@Google: Isso é, literalmente, completamente errado. O Google usou a sintaxe Java (e algumas bibliotecas), mas como Ryan Conrad observou, o bytecode é completamente diferente. Eles não apenas "renomearam" o Java JDK para fins de marketing. Veja a entrada da Dalvik na Wikipedia para mais.
Eldarerathis

3

Se o arquivo jar for para JavaME

Há o MicroEmulator que emula o JavaME com a ajuda do JavaSE. Isso torna possível converter esses arquivos jar em um apk e instalá-lo no seu dispositivo. O processo é descrito aqui.

O NetRunner fornece uma funcionalidade semelhante.


Flow, esse link do MicroEmulator parece ter mudado para outra coisa, suponho. Você poderia atualizar a resposta.
Firelord

-3

Não, você não pode instalar arquivos jar no Android. Para instalar aplicativos do jar, precisamos do suporte J2ME, que não está nos telefones Android.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.