Come convertire il file di classe in file dex in Android? C'è qualche modo?Converti file di classe in dex file
risposta
Utilizzare dx.
L'area dalvik docs include trivial example.
Modifica: Il collegamento è guasto. È possibile trovare la copia dell'albero di origine here e una versione formattata in un mirror here.
Ma in generale, è improbabile che il tuo file di classe e il tuo file sorgente (s) sarebbe nella stessa directory. La chiave è usare "--no-strict" come indicato sotto nella risposta di @ darutk. –
Utilizzando un layout di build Java standard, i nomi dei pacchetti nei file di origine dovrebbero corrispondere alla struttura della directory e i file .class finiranno accanto ai file .java. Non sono necessarie opzioni aggiuntive.A seconda del sistema di build, questo potrebbe essere totalmente automatico o molto scomodo, quindi "dx" offre una certa flessibilità nel modo in cui può essere utilizzato. – fadden
Invoca il comando "dx" con l'opzione "--dex" come segue.
dx --dex --output=<output-file> <input-file>
Il comando "dx" è contenuto in Android SDK. La posizione del comando varia. Prova a cercare:
<SDK-HOME>/platform-tools/
<SDK-HOME>/platforms/<platform>/tools/
"dx --dex" può accettare alcune opzioni. Ad esempio, l'opzione "--no-strict" salterà il controllo se i nomi dei percorsi dei file di classe di input corrispondono ai nomi di pacchetti/classi dichiarati, quindi otterrete un risultato diverso per WebService.class se invocate dx con questa opzione. Probabilmente, l'opzione "--keep-classes" è utile se si desidera utilizzare i file jar sia su Android che su Java SE. Senza l'opzione "--keep-classes", il comando dx sostituisce tutti i file .class in un file jar di input con un file denominato "classes.dex", ma con l'opzione "--keep-classes", anche i file .class di input entrano in il file ouput e classes.dex.
ex:
dx --dex --keep-classes --output=output.jar input.jar
ho letto il codice sorgente di dx e elencate le opzioni della riga di comando con qualche spiegazione alla pagina seguente.
L'utilizzo di dx --dex:
http://darutk-oboegaki.blogspot.com/2011/03/usage-of-dx-dex-dx-dex.html
Per i record: è ora in
aggiunta più informazioni per darutk risposta: comando
dx è contenuto in Android SDK
esempio: D: \ Android \ AndroidSDK \ build-tools \ 23.0.1 \
con 23.0.1 è Android versione
Per ANT costruzione automatica:
<property name="dx" value="${android_sdk}/build_tools/18.1.0/dx" />
<target name="convert_jar_to_dex">
<apply executable="${dx}" failonerror="true" parallel="true">
<arg value="-JXms1024m" />
<arg value="-JXss1024k" />
<arg value="--dex" />
<arg value="--verbose" />
<arg value="--no-strict" />
<arg value="--num-threads=4" />
<arg value="--output=${basedir}/bin/output.dex" />
<fileset file="${basedir}/input.jar"/>
</apply>
</target>
Questa è la mia esperienza. Potrebbe essere utile.
- 1. Impossibile eseguire dex: più file dex definiscono Lbolts/AggregateException
- 2. Dex Loader Impossibile eseguire più file dex definire
- 3. Eclipse, Android: Inatteso Impossibile eseguire dex: più file dex definiscono
- 4. Converti blob in file
- 5. Converti IFile in file
- 6. Converti file .Java in file .Smali
- 7. Converti file NIB in file XIB
- 8. Gradle - DexException: più file dex definiscono
- 9. Che cosa sono i file .dex in Android?
- 10. Utilizzando Admob in Android App - più file DEX definiscono
- 11. Converti file SVG in file PNG di dimensioni diverse
- 12. file di classe in conversione file java
- 13. Converti array di byte in file wav
- 14. Converti nomi di file python in Unicode
- 15. Converti URI di dati in file
- 16. Converti file IDL di interfaccia in C#
- 17. Ant: Converti il nome della classe nel percorso del file
- 18. Più file dex definiscono Lcom/google/firebase/FirebaseException
- 19. Converti file XML in CSV in java
- 20. Converti file PDF in HTML in C#
- 21. Java 8, Converti array di nomi file nell'array di file
- 22. Impossibile eseguire dex: più file dex definiscono Lcom/google/android/gms/analytics/internal/Command
- 23. Impossibile eseguire dex: file DEX multipli definiscono Landroid/supporto/v7/appcompat
- 24. Impossibile eseguire dex: più file dex definiscono Lcom/actionbarsherlock/R $ attr
- 25. Java - Converti file doc/docx in chm file
- 26. Converti file PDF in immagini utilizzando C#
- 27. Converti file HDF5 in altri formati
- 28. Ruby Converti una stringa in un file
- 29. Converti stringa Base64 in un file immagine?
- 30. Converti file in stringa HEX Python
Qual è la riga di comando per questo? – Dhanush
hmmmm ... dx? È uno degli strumenti forniti con l'SDK. –
Viene visualizzato l'errore seguente durante la conversione della classe per risolvere l'errore: nome classe (com/WebService) non corrisponde percorso (WebService.class) ... durante l'analisi di WebService.class ... durante l'elaborazione di WebService.class 1 avviso – Dhanush