Están llegando grandes cosas al mundo de Linux y sobre todo de Android. No sé la fecha exacta (seguramente han pasado años) pero C# ya está disponible para Linux con el proyecto Mono.
Ubuntu también está disponible para Android como lo vimos en otro post, así que basta con instalar los paquetes sobre Ubuntu y podremos programar en C# desde Android; sin sacrificar el rendimiento ni esas cosas.
Recuerda que si quieres instalar C# en Ubuntu (pero no en Android) puedes mirar este post.
Requisitos previos
Para compilar y ejecutar código de C# en Android es necesario tener Termux, y encima de Termux tener Ubuntu.
Mira cómo instalar y configurar Termux; y después el que indica cómo instalar Ubuntu sobre Android.
Por cierto, no se necesita ser root, con que puedas instalar Termux basta.
Instalar C# en Android con Mono project
Vamos a seguir casi las mismas instrucciones que se ven en el post de Ubuntu con C#, pero sin sudo.
Abrimos Termux e iniciamos Ubuntu.
Agregar repositorio de Mono
Instalamos gnupg
y ca-certificates
:
apt install gnupg ca-certificate -y
La opción -y
es para evitar que nos pregunte sobre el espacio usado.
Dependiendo de la velocidad del internet y dispositivo el tiempo va a cambiar. Al final debe verse algo así:
Después de eso debemos agregar la clave:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
Nos va a indicar que se ha importado una clave:
Más tarde agregamos la dirección del repositorio de Mono con:
echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | tee /etc/apt/sources.list.d/mono-official-stable.list
Como se ve en la imagen:
Es momento de actualizar los repositorios con apt-update
:
Terminando de actualizar:
Instalar mono-devel en Android
Ahora llegó el momento de instalar mono-devel con apt install mono-devel -y
; de nuevo, la opción -y
es para que no pida confirmación.
Te aviso de una vez que este proceso puede ser un poco tardado. Después de un tiempo, el instalador preguntará tu país.
Fíjate que escribí el número 2 (América); pero por el tamaño de la pantalla se encimaron algunas cosas.
Después preguntará tu zona horaria, en este caso es la 97, no se ve porque se bajó pero la opción 97 era para México:
Esperamos un momento y la instalación va a terminar.
Primer programa de C# en Android
Vamos a crear nuestro hola mundo para C# desde Android. No importa cómo lo hagas, siempre y cuando pongas en un archivo llamado hola.cs lo siguiente:
using System;
public class HelloWorld
{
public static void Main(string[] args)
{
Console.WriteLine("C# en Ubuntu sobre Android. [Parzibyte.me]");
}
}
Yo lo hice con vim; lo instalé con apt install vim -y
. Después escribí vim hola.cs
; presioné la tecla I
para entrar al modo inserción, escribí el código (también puedes pegarlo); terminé de editarlo, presioné ESC
, luego escribí :wq
y finalmente Enter
para guardar y salir.
El compilador se llama mono-csc
(Mono C sharp compiler) y el que ejecuta los programas se llama mono
. Para compilar ejecutamos:
mono-csc hola.cs
Así como se aprecia en el siguiente gif:
Eso va a generar un archivo llamado hola.exe (sí, un exe en Linux) que vamos a ejecutar con mono hola.exe
así como en la siguiente imagen:
¡Listo! hemos compilado y ejecutado código de C# en Android, y todo esto sin necesidad de acceso root.
Conclusión
Solo quiero recalcar que el compilador se llama mono-csc; pues compilar todo código de C# si quieres. Y para ejecutar un exe, usa mono.