1 votos

¿Hay alguna manera de escribir/ejecutar scripts personalizados en segundo plano en mi teléfono?

Lo que tengo en mente es bastante simple. Quiero escribir un pequeño script para gestionar archivos de forma sencilla, y me gustaría que se ejecute automáticamente una vez al día. Tengo algo de experiencia en programación, por lo que la implementación real no será realmente un problema. Lo que me confunde en realidad es si la plataforma Android tiene alguna característica que haga viable la ejecución de las rutinas.

La mayor parte de la programación que hago a diario es en Python, pero podría acostumbrarme a la sintaxis de Java o Kotlin en un par de días si es necesario, y a partir de ahí es solo lógica muy simple. Teniendo en cuenta que Android en el fondo es básicamente Linux, imagino que sería posible hacer que se ejecute automáticamente un par de líneas de código todos los días a una hora establecida, como he hecho en mi máquina Linux un par de veces.

Soy prácticamente un principiante completo cuando se trata de trastear con el funcionamiento de Android, por lo que si alguien ha hecho algo similar a lo que estoy intentando o conoce documentación relevante, se agradecería mucho alguna orientación.

1 votos

Mientras Android está construido sobre el núcleo de Linux, Android != Linux debido a los marcos adicionales y restricciones en dispositivos no root. Root te da más opciones. Debes describir explícitamente a qué te refieres con "gestión de archivos simple", qué versión de Android, modelo de hardware y si el dispositivo está rooteado o no.

0 votos

Entonces, lo que me gustaría que hiciera el script es buscar en una carpeta predeterminada y verificar si hay archivos más viejos de, digamos, 3 días, y eliminar dichos archivos. Sería bueno si se ejecutara una vez al día. Con una distribución de Linux regular, podría hacer que eso funcionara escribiendo en mi perfil de bash, no sé si eso es posible en Android. En cuanto al dispositivo, está ejecutando la versión 9 de Android, kernel 4.9.117+, sin acceso root.

1 votos

Android en sí no proporciona ningún mecanismo similar a cron, ni un inicio de sesión en terminal (por lo que no hay .profile/.bashrc, etc. (detalles relacionados)). Puedes utilizar la API AlarmManager en tu aplicación para tareas repetidas. O utilizar alguna aplicación de automatización. O con root: ¿Cómo ejecutar un archivo ejecutable al arrancar y mantenerlo en ejecución?. También relacionado: android.stackexchange.com/a/221420/218526

0voto

Morrison Chang Puntos 286

No

En un dispositivo no rooteado, los archivos generalmente se consideran privados para las aplicaciones (piensa en cada aplicación como un nombre de usuario y tú no tienes sudo). Las aplicaciones y sus datos están destinados a estar aislados entre sí en el cada vez más enfocado mundo móvil de la privacidad.

Dado que tienes experiencia en programación, aquí está la documentación para desarrolladores de Android sobre el almacenamiento de datos y notarás los diferentes tipos como medios y "documentos" utilizando el Marco de Acceso de Almacenamiento. Agrega Almacenamiento Adoptable para las tarjetas SD y obtienes desarrolladores no Android experimentados haciendo preguntas como ¿Cuál es el estado actual del almacenamiento interno vs externo vs extraíble vs adoptable en Android?. De todas formas, si tu "carpeta predeterminada" es del sistema, sin root tampoco tendrás acceso.

La pregunta de SO anterior enlaza a publicaciones de blog de Commonsware sobre la situación del almacenamiento en Android: almacenamiento interno, almacenamiento externo y almacenamiento extraíble vistos desde una perspectiva de desarrollador. Escribir una aplicación para interactuar con todos estos tipos de almacenamiento sería fuera de tema aquí en Android Enthusiasts, pero leerlos proporciona contexto sobre cómo Android no se parece a Linux de línea de comandos/cáscara que ha sido y está llegando a ser.

0 votos

Gracias, la documentación será más que útil. He estado buscando una forma de mantener mi script en ejecución en segundo plano. ¿Imagino que Android tiene algún tipo de equivalente a 'bashrc' o algo así?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X