OBS: Não existe mais JRE para Arm, eles mandam instalar o Java SE (eJDK).
Acabei de fazer download do JRE para Linux x86 (32 bits) e do JDK 8 para arquitetura ARM de 32 bits. Daí descompactei o tarball do JRE numa pasta "jre" e o tarball do JDK numa pasta "jdk". Após isso, entrei (via terminal do shell) no diretório raiz deles e rodei este comando:
diff ./jre/lib/ ./jdk/lib/ |grep "Somente em ./jre/lib" |more > ~/Área\ de\ Trabalho/faltando.txt
...e assim obtive a seguinte lista (conteúdo do arquivo
faltando.txt, armazenado em minha
Área de Trabalho):
Somente em ./jre/lib/: applet
Somente em ./jre/lib/: calendars.properties
Somente em ./jre/lib/: charsets.jar
Somente em ./jre/lib/: classlist
Somente em ./jre/lib/: cmm
Somente em ./jre/lib/: content-types.properties
Somente em ./jre/lib/: currency.data
Somente em ./jre/lib/: deploy
Somente em ./jre/lib/: deploy.jar
Somente em ./jre/lib/: desktop
Somente em ./jre/lib/: ext
Somente em ./jre/lib/: flavormap.properties
Somente em ./jre/lib/: fontconfig.bfc
Somente em ./jre/lib/: fontconfig.properties.src
Somente em ./jre/lib/: fontconfig.RedHat.5.bfc
Somente em ./jre/lib/: fontconfig.RedHat.5.properties.src
Somente em ./jre/lib/: fontconfig.RedHat.6.bfc
Somente em ./jre/lib/: fontconfig.RedHat.6.properties.src
Somente em ./jre/lib/: fontconfig.SuSE.10.bfc
Somente em ./jre/lib/: fontconfig.SuSE.10.properties.src
Somente em ./jre/lib/: fontconfig.SuSE.11.bfc
Somente em ./jre/lib/: fontconfig.SuSE.11.properties.src
Somente em ./jre/lib/: fontconfig.Turbo.bfc
Somente em ./jre/lib/: fontconfig.Turbo.properties.src
Somente em ./jre/lib/: fonts
Somente em ./jre/lib/: hijrah-config-umalqura.properties
Somente em ./jre/lib/: i386
Somente em ./jre/lib/: images
Somente em ./jre/lib/: javafx.properties
Somente em ./jre/lib/: javaws.jar
Somente em ./jre/lib/: jce.jar
Somente em ./jre/lib/: jfr
Somente em ./jre/lib/: jfr.jar
Somente em ./jre/lib/: jfxswt.jar
Somente em ./jre/lib/: jsse.jar
Somente em ./jre/lib/: jvm.hprof.txt
Somente em ./jre/lib/: locale
Somente em ./jre/lib/: logging.properties
Somente em ./jre/lib/: management
Somente em ./jre/lib/: management-agent.jar
Somente em ./jre/lib/: meta-index
Somente em ./jre/lib/: net.properties
Somente em ./jre/lib/: oblique-fonts
Somente em ./jre/lib/: plugin.jar
Somente em ./jre/lib/: psfontj2d.properties
Somente em ./jre/lib/: psfont.properties.ja
Somente em ./jre/lib/: resources.jar
Somente em ./jre/lib/: rt.jar
Somente em ./jre/lib/: security
Somente em ./jre/lib/: sound.properties
Somente em ./jre/lib/: tzdb.dat
Essa aí é a lista dos arquivos que o JRE possui em sua pasta
lib mas o JDK não possui.
TENTATIVA 1Um teste (muito rudimentar e amador
) que eu faria: fazer download do tarball do JRE, descompactá-lo para dentro de alguma pasta, daí acessar a subpasta
lib do JRE, copiar todos os arquivos da lista acima e colá-los dentro da subpasta
lib do seu JDK. Em seguida, reinicie o computador. A ideia é ver se de repente esses arquivos resolvem o problema...
Arquivos com extensão JAR são verdadeiras bibliotecas de objetos diversos (contêm inclusive classes Java). E classes Java via de regra são independentes de plataforma (só costumam dar problema se elas forem escritas para sistema de 64 bits e o seu for de 32 bits). Consequentemente, se o problema for mesmo ausência de alguma biblioteca, é possível que ela esteja dentro de um desses arquivos e que, ao copiá-los para dentro da subpasta
lib do seu JDK, esse JDK passe a funcionar com o SPV.
Enfim: não custa nada tentar... E, se não der certo, basta excluir os arquivos: você já tem a lista de quais arquivos copiou, portanto desfazer o procedimento será simples.
TENTATIVA 2Caso a tentativa 1 não tenha dado certo, é provável que o problema não seja uma classe faltando no seu JDK, mas sim uma classe presente no SPV que o JRE do seu JDK não consegue reconhecer ou executar. Em tal caso, um segundo teste que você pode fazer é o seguinte: dentro da pasta do seu JDK, renomeie a subpasta
jre para algo como p.ex.
jre-jdk. Em seguida, copie a pasta
jre do JRE e cole-a dentro da pasta do
jdk.
Após isso, será necessário entrar na nova subpasta
jre do seu JDK, excluir a pasta
bin (porque os binários executáveis dela são para arquitetura Intel), em seguida acessar a subpasta
jre-jdk, copiar a subpasta
bin e então colá-la lá dentro da subpasta
jre (para que o JRE do seu JDK volte a ter os binários executáveis específicos para arquitetura ARM).
A ideia neste caso é tentar fazer o JRE que veio no tarball para x86 funcionar com o JDK para ARM.
Reinicie novamente o PC e veja se funcionou. Se não funcionou, aí é só deletar a subpasta
jre do seu JDK e em seguida renomear a
jre-jdk para
jre.
São dois testes simples (embora um pouco trabalhosos) que você pode fazer e que têm alguma chance de dar certo.
Boa sorte...