Neovim en desarrollo android, y desarrollar sin android studio

¿Alguien usa neovim para desarrollo android?

A ver si alguien más experimentado que yo (soy novato en el tema) se une y me corrige…
Yo no uso neovim (sino vim, aunque realmente uso lo que me venga en gana, con tal de que sea un editor de texto…).

Tras buscar cómo desarrollar para android sin Android Studio, lo máximo que llegue es a solo tener el kit de desarrollo de Android Studio (a mi solo me funciono en linux) de linea de comando y el gradle por consola.

Una vez tienes las tooll-chain de Android Studio, gradle y vim, puedes crear un archivo Makefile y pegarle lo siguiente:


APP		:= Tutorial
HOME		:= /home/marco/Escritorio/tuto/
ID		:= com.example.tutorial/.MainActivity
ID_BASIC	:= com.example.tutorial
ID_DIR_DEBUG	:= app/build/outputs/apk/debug/app-debug.apk
ID_DIR_RELEASE	:= app/build/outputs/apk/release/app-release-unsigned.apk

debug: com muv in run

release: com muv firm on run

key:
	keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
on:
	adb install -r app-release-signed.apk
firm:
	apksigner sign --ks my-release-key.jks --out app-release-signed.apk $(ID_DIR_RELEASE)
in:
	adb install -r $(ID_DIR_DEBUG)
run:
	adb shell am start -n $(ID)
com:
	gradle build --daemon
muv:
	adb push $(ID_DIR_DEBUG) /sdcard/Download/dev/

rm:
	adb uninstall $(ID_BASIC)


A mi no me corre el emulador de Android, por lo cuál esta hecho para un dispositivo físico, el cuál vas a tener que ponerlo en modo desarrollador, y darle permiso a tu pc para instalar el apk.

Las macros:
ID → la id con la que contruiste el proyecto con Android Studio (solo lo necesitas para crear el proyecto)
ID_BASIC → La id sin el .MainActivity
ID_DIR_DEBUG → según lo necesario para instalar el apk en el dispositivo.

Este fue un Makefile que cree para experimentar de cómo hacer desarrollo Android sin el Android Studio.
Cómo se puede ver, gracias a alphabet (google), solo se puede desarrollar con sus herramientas para Android, un sistema muy restrictivo.

Uno en youtube logro crear un método para solo usar c, sin java ni kotlin.
Video: https://www.youtube.com/watch?v=Cz_LvaN36Ag
Pero, digamos que es un poco difícil de leer el código…
Espero haberte ayudado…

1 me gusta

Muchas gracias solo necesito C para mi programa es algo de bajo nivel.

Usar solo c, es difícil, aún no sé bien cómo se hace para solo c. Si sabes, puedes publicar aquí cómo es, de seguro sería un gran aporte a la comunidad.

Por el momento, se puede usar c con la herramienta de gradle (y Android Studio, compatible con mi Makefile) para escribir una parte del programa en c o c++, ambos o uno solo.

Para una guía, puedes iniciar un proyecto c++ de Android en Android Studio, y ver cómo hace el Gradle.build. Y así usar el Makefile.

Lo cual, crea una .so (biblioteca compartida, similar a las .dll) dentro de tu apk, que va a ejecutar tu app. Lo cual, es binario en serio (y del horripilante binario de ARM, ¡Quién entiende ese ensamblador…!).

Que cosas me recomiendas aprender, no entiendo como funcionan las apks ni como se se que usan como java y kotlin pero no mucho de la arquitectura

En esa lista puedes aprender a usar kotlin para desarrollo con Android.
E, ir convirtiendo el uso de Android Studio a código, para evitar usarlo, y compilar con el Makefile.
Igual, para usar mi make, tendrás que instalar el Android Studio, para instalar sus herramientas, iniciar el proyecto y usar el editor de texto que quieras. Poniendo make para compilar y bajarlo en tu teléfono.

Tras poner make, los argumentos;
com → compila el apk en modo debug
muv → mueve a la carpeta dev en descargas, no importa
in → instala el apk en tu móvil
run → lo ejecuta

Tendrás que cambiar las macros:

ID		:= com.example.tutorial/.MainActivity
ID_BASIC	:= com.example.tutorial
ID_DIR_DEBUG	:= app/build/outputs/apk/debug/app-debug.apk
ID_DIR_RELEASE	:= app/build/outputs/apk/release/app-release-unsigned.apk

Para que coincidan con tu proyecto.

Las herramientas que necesitás para el make son:

[marco@marco pru]$ adb --version
Android Debug Bridge version 1.0.41
Version 35.0.1-11580240
Installed as /home/marco/Android/Sdk/platform-tools/adb
Running on Linux 6.10.10-arch1-1 (x86_64)
[marco@marco pru]$ keytool --version
keytool 22.0.2
[marco@marco pru]$ apksigner --version
0.9
[marco@marco pru]$ gradle --version

Welcome to Gradle 8.10.2!

Here are the highlights of this release:
 - Support for Java 23
 - Faster configuration cache
 - Better configuration cache reports

For more details see https://docs.gradle.org/8.10.2/release-notes.html


------------------------------------------------------------
Gradle 8.10.2
------------------------------------------------------------

Build time:    2024-09-24 14:20:41 UTC
Revision:      <unknown>

Kotlin:        1.9.24
Groovy:        3.0.22
Ant:           Apache Ant(TM) version 1.10.14 compiled on August 16 2023
Launcher JVM:  22.0.2 (Arch Linux 22.0.2+9)
Daemon JVM:    /usr/lib/jvm/java-22-openjdk (no JDK specified, using current Java home)
OS:            Linux 6.10.10-arch1-1 amd64

[marco@marco pru]$ pacman -Ss gradle
extra/gradle 8.10.2-1 [instalado]
    Powerful build system for the JVM
extra/gradle-doc 8.10.2-1
    Powerful build system for the JVM (documentation)
extra/gradle-src 8.10.2-1
    Powerful build system for the JVM (sources)
extra/gradle7 7.6.4-1
    Powerful build system for the JVM
extra/gradle7-doc 7.6.4-1
    Powerful build system for the JVM (documentation)
extra/gradle7-src 7.6.4-1
    Powerful build system for the JVM (sources)

Muchas gracias, me servira para mi proyecto de app anti difamacion

1 me gusta

App anti difamación?
Luego como eso servirá?

Cuando lo tenga listo veras como funciona.