Me pregunto por qué las aplicaciones de Android no podrán ejecutarse de forma nativa en Ubuntu Touch . Quiero decir, ¿no es todo solo Linux?
ubuntu-touch
android
programming
usuario287536
fuente
fuente
Respuestas:
La respuesta corta es no."
Estrictamente hablando, el kernel de Linux proporciona poco más que una interfaz directa al hardware en el que se está ejecutando. Hay una pila completa de API, programas, aplicaciones, etc. específicos adicionales para teléfonos Android de los que dependen las aplicaciones de Android. Además, Android no se ejecuta en un kernel genérico de Linux, sino que se ejecuta en uno que ha sido altamente personalizado por Google con el propósito específico de ejecutar su sistema operativo.
Incluso si es técnicamente posible reproducir la pila completa requerida para que las aplicaciones de Android se ejecuten en otro sistema, sería muy inflada y extremadamente ineficiente.
fuente
Nokia n900 ejecuta maemo witch es un sistema operativo Linux y, sin embargo, puede ejecutar la aplicación de Android a través del entorno dalvik que se desarrolló para él, pero nunca se puso en el mercado o en los repositorios. ¿Por qué? Solo la sociedad que desarrolló el dalvik para n900 lo sabe. Ahora había otra iniciativa llamada apkenv. Parece que no había mucho que agregar para hacer que el n900 ejecute algunos juegos de Android y no importa el poder de la CPU o la CPU o el escritorio de Maemo, las aplicaciones funcionan allí como un lago en cualquier emulación, pero algunas funcionan perfectamente, algunas no. Entonces, sobre ubuntu touch no se trata de una cuestión técnica (puede ser que esté equivocado, pero un teléfono táctil oficial de ubuntu es un xiaomi que también se usa para Android, por lo que el hardware no es un problema en este caso), pero lo haré y la ley sabrá que Google ganó '
fuente
La respuesta a su pregunta es un GRAN NO.
Android es completamente diferente de Ubuntu Touch, aunque Android se basa en el kernel de Linux, pero eso no significa que las aplicaciones nativas de Android puedan ejecutarse en Linux y viceversa.
La similitud en el núcleo entre diferentes sistemas operativos no hace que sus aplicaciones sean ejecutables en estos diferentes sistemas operativos. Kernel es la capa de software más baja de un sistema. Por encima del núcleo se encuentra el espacio de usuario que consiste en el software del sistema y la interfaz de la aplicación .
El SO con el mismo núcleo puede tener espacios de usuario completamente diferentes y las aplicaciones nativas se ejecutan en un espacio de usuario particular.
Además, las aplicaciones de Android se desarrollan generalmente utilizando aplicaciones Java y Android que se ejecutan en un entorno de tiempo de ejecución ( Dalvik o ART ) que toma el bytecode de JVM como entrada, mientras que las aplicaciones de Linux se convierten directamente en código de máquina tras la compilación.
Las aplicaciones desarrolladas para Android que usan C ++ no pueden ejecutarse directamente en el entorno de Linux, sino que deben compilarse primero para los sistemas de Linux.
fuente