Android KitKat criado no Ubuntu 14.04, JDK errado

1

Estou tentando construir uma ramificação Android-x86 KitKat do android-x86.org em uma máquina Ubuntu de 64 bits de 14 bits.

No entanto, quando eu corro, não corro muito, até que haja um erro que interrompe a compilação. Parece ser um erro de Java que, acredito, é causado pela versão do JDK que eu instalei.

libcore/libdvm/src/main/java/java/lang/Enum.java:150: error: ordinal has private access in Enum
        return ordinal - o.ordinal;
                          ^

Eu entendi para o KitKat que o JDK 6 é necessário, então eu instalei o OpenJDK6. Eu sei que isso não é totalmente suportado, mas não havia nada para dizer que absolutamente não vai funcionar. Então eu tentei mesmo assim.

De qualquer forma, meu problema é que não consigo encontrar uma maneira de obter o oracle JDK 6 instalado. Eu tentei alguns repositórios, mas eles são obsoletos ou não têm mais o pacote necessário. Fui ao arquivo do site da Oracle, mas é necessário que eu me inscreva com detalhes da "minha empresa" que não preciso fornecer.

Existe alguma maneira de obter uma versão antiga do oracle JDK instalada?

    
por Luke 27.02.2015 / 11:29

2 respostas

2

Isso pode ser um problema do OpenJDK. Às vezes, o Oracle JDK é necessário para que algo funcione.

Geralmente os JDKs são compatíveis com versões anteriores, você também pode usar a versão 8.

Aqui está um tutorial sobre como instalá-lo: link

Se você já instalou (leia: coloque em algum lugar da sua unidade) o Oracle JDK, você pode escolher com

update-alternatives --config java

Eu tive problemas com isso antes, se o JDK que você quer não estiver listado, você deve adicioná-lo primeiro a update-alternatives:

sudo update-alternatives --install /usr/bin/java java /path/to/your/jdk/bin 1

Substitua / caminho / para / seu por seu caminho.

    
por S.K 27.02.2015 / 12:28
1

Talvez isso ajude:

diff --git a/libdvm/src/main/java/java/lang/Enum.java b/libdvm/src/main/java/java/lang/Enum.java
index 7a0f514..4b897aa 100644
--- a/libdvm/src/main/java/java/lang/Enum.java
+++ b/libdvm/src/main/java/java/lang/Enum.java

@@ -147,7 +147,7 @@
      * @see java.lang.Comparable
      */
     public final int compareTo(E o) {
-        return ordinal - o.ordinal;
+        return ordinal - o.ordinal();
     }

     /**

Fonte: Pergunta e Responder .

    
por user1742529 26.03.2016 / 15:11