¿Existe un archivo de clase universal o "grasa" para Java?
Un binario de grasa es un binario que se puede ejecutar en más de una arquitectura. Básicamente, consiste en un programa compilado dos veces, una vez para cada arquitectura, luego escrito en el mismo archivo. Probablemente el ejemplo más conocido es el de los binarios "universales" de Apple, que permite que los programas se compilen para las arquitecturas de Intel y Power PC y se ejecuten desde el mismo archivo ejecutable.
Esto nunca fue un problema para Java, ya que Java se ejecuta en la JVM, permitiendo que se ejecute desde cualquier computadora compatible con JVM. Sin embargo, Android es ahora muy popular, y VM de Android (Dalvik), no es compatible con la JVM. ¿Hay alguna forma de compilar el código dos veces, y la creación de un archivo de clase que puede ser ejecutado por la JVM y Dalvik? Y si no, ¿esto es posible?
- Hacer un juego en LibGDX con colisión y gravedad sin usar Box2D
- Weka modelo de error de lectura en android
- Android - Parse JS generó urls con JSOUP
- ¿Cómo comprobar si existe una llave json?
- Android FileReader de archivo R.raw.file
- Cómo usar el valor automático con firebase 9.2 en Android
- La vista personalizada de Android vuelve a la posición original al actualizar
- Android: establecer el color mediante programación de las constantes de color XML
- Google Maps Fragment no se carga
- Cómo hacer el "export jar" de Eclipse desde la línea de comandos
- Generar mapa <String, String> de POJO
- Android Facebook Login callback no funciona
- Nombre del paquete de manifiesto de Android
Respuesta: Sí.
Puede crear un archivo .jar
universal que contenga archivos .class
amigables a JVM y un archivo friendly.de.de classes.dex
Android. La herramienta dx
incluida en el SDK de Android emitirá dichos archivos si utiliza la opción de línea de comandos --keep-classes
.
Tenga en cuenta que aunque los archivos .jar
se pueden consumir en JVM y en Android, el código de empaquetado de esta manera no es muy útil. Las aplicaciones de Android se empaquetan como archivos .apk
incluyen un archivo XML de manifiesto de Android. Utilizan APIs específicas de Android como Activity
que no están disponibles en la JVM.
Un archivo .jar
universal sería en su mayoría útil si quería hacer carga de clase de ejecución de una biblioteca.
- Corregir la relación de aspecto y la rotación de la aplicación de la cámara Android
- Java.lang.OutOfMemoryError BitmapFactory.nativeDecodeAsset ()