Perché convertire CLASS in DEX?
DEX (Dalvik Executable) è il formato bytecode di Android per il runtime ART, mentre i file .class sono bytecode JVM per Java desktop - i due set di istruzioni sono diversi e non intercambiabili. Un'app Android eseguibile richiede un APK con un manifest, risorse e riferimenti al framework Android che un file .class autonomo non fornisce.
Come convertire CLASS in DEX
Android Studio FREE
Avvia un progetto Android, aggiungi il tuo sorgente Java (file .java) al progetto e compila - il plugin Android Gradle compila il sorgente ed esegue automaticamente d8 per produrre un APK valido.
JD-GUI OPEN-SOURCE
Se hai solo file .class, decompilali prima in .java usando File > Save All Sources di JD-GUI, quindi aggiungi quel sorgente a un progetto Android Studio e compila.
Informazioni su questi formati
Un file CLASS è bytecode Java compilato - l'output prodotto da javac a partire da un file sorgente .java. Per eseguirlo è necessario avere Java (un JDK) installato, quindi usare il comando…
Apri dettagli .CLASS →Un file DEX è codice compilato per app Android - il Dalvik Executable eseguito dal runtime di Android (ART). Normalmente risiede all'interno di un APK come classes.dex, non come file…
Apri dettagli .DEX →Qualità e a cosa prestare attenzione
- I file
.classsono bytecode JVM per la Java Virtual Machine desktop; DEX è un set di istruzioni diverso per il runtime ART di Android - i due non sono intercambiabili. d8 MyClass.classviene eseguito senza errori ma l'output DEX manca di una struttura APK, del manifest e dei riferimenti al framework Android e non può essere installato su Android.- Android Studio accetta file JAR standard come dipendenze - il sistema di compilazione gestisce automaticamente qualsiasi passaggio da class a DEX durante la creazione dell'APK.
Domande frequenti
Posso usare d8 direttamente per convertire un .class in DEX?
Esiste uno strumento online che converte CLASS in DEX?
Ho un JAR, non un .class - cambia qualcosa?
.class; un'app Android eseguibile richiede comunque una compilazione completa in Android Studio.