¿Cuál es la diferencia entre ‘Java original’ y ‘Java en Android’? ¿Hay funciones agregadas / eliminadas a / de Java para el desarrollo de Android?

La clave para entender aquí es que el lenguaje de programación JAVA tiene su máquina virtual Java que compila un código Java, mientras que encuentra la sintaxis correcta y las bibliotecas base, se tratará como un programa JAVA y se convertirá en un código de bytes ejecutable.

Android agrega su propia máquina virtual, que convierte aún más este bytecode de java a bytecode nativo. Comenzó con Dalvik y ahora pasó a ART.

Cuando dices Java original, supongo que básicamente significa cualquier biblioteca de paquetes que se entregue con el SDK, por ejemplo. J2SE Ahora, cuando le agregue algunos paquetes / bibliotecas de API, eso se puede cambiar a un sabor diferente; por ejemplo, J2EE agrega una empresa, redes y marcos web y eso se convierte en un SDK diferente.

Del mismo modo, Android se basa en el lenguaje de programación Java, pero le agrega su propio SDK, que puede incluir, por ejemplo, depuradores, bibliotecas específicas de pantalla táctil móvil, reconocimientos de gestos, básicamente cualquier herramienta para desarrollar una aplicación basada en dispositivos móviles.

En cuanto a cualquier reducción / adiciones de Core Java, supongo que sí, habría importantes componentes clave de Java que se volverán inútiles cuando se trata de Android, por ejemplo, Swing API, pero de nuevo eso se reduce a qué bibliotecas están incluidas en Android SDK

Para que sea simple. El lenguaje de programación es JAVA en todo su esplendor. El conjunto de bibliotecas y paquetes son completamente Android.

Espero que ayude !!