Termux

Android y C#: compilar y ejecutar código de C sharp con Mono Project

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.

Android y C# – Ejecutar hola mundo

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.

1 – Android y C# – Instalar gnupg y ca-certificates

Dependiendo de la velocidad del internet y dispositivo el tiempo va a cambiar. Al final debe verse algo así:

2 – Terminar de instalar paquetes

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:

3 – Agregar clave para instalar mono en Android

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:

4 – Agregar repositorio de Mono a Ubuntu

Es momento de actualizar los repositorios con apt-update:

5 – Actualizar con apt update

Terminando de actualizar:

6 – 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.

7 – Instalando Mono, configurar país

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:

8 – Seleccionar zona horaria

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:

Android y C# – Compilar hola mundo

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:

Android y C# – Ejecutar hola mundo

¡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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

5 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.