2010-05-10 8 views
6

¿Es posible (sin violar ninguna licencia) escribir una aplicación C/C++ nativa sobre el sistema operativo Android y hacer que se ejecute como un proceso daemon?Android daemon process

Ya hay varios procesos de daemon en ejecución que se pueden ver con el comando 'ps', la parte legal me preocupa más. Y también la falta de documentación sobre cómo hacer esto exactamente.

Para la parte de escritura, creo que uno podría usar conceptos básicos de programación de Linux, ya que Android admite al menos en cierto nivel la API estándar de Posix. Para hacer que funcione mientras el teléfono arranca, algunas modificaciones también son necesarias en init.

No tengo planes de tener esta aplicación en Android Market, por lo que instalarla manualmente en el teléfono no es un problema. Siempre que no requiera volver a compilar todo el sistema operativo o kernel.

Realmente aprecio toda la información sobre este tema, ya que no hay mucho disponible.

Gracias.

+0

También estoy estudiando el NDK y noté que hay una lista de librerías "estables" que solo deberían usarse. ¿Esto descarta el uso de las bibliotecas estándar de Poxis (o lo que se implementa de ellas)? – kaskelotti

Respuesta

4

¿Es posible (sin violar ninguna licencias) para escribir un/C++ aplicación nativa de C en la parte superior del sistema operativo Android y hacer que se ejecute como un proceso de demonio?

No limpiamente.

Y también la falta de documentación sobre cómo hacer esto exactamente.

Debido a que no se supone que estar haciendo esto, excepto por la modificación del firmware.

Para hacer que funcione mientras arranca el teléfono, también se requieren algunas modificaciones en init.

Lo cual solo será posible en un teléfono rooteado (en el mejor de los casos) o modificando el firmware (en el peor de los casos).

El NDK de Android está diseñado para crear bibliotecas para conectarse a aplicaciones Java a través del JNI. Si está buscando un entorno Linux de propósito general, Android no es la respuesta.

+0

Gracias por la respuesta. Eso prácticamente descarta esta opción, seguiré buscando alternativas. Tengo que trabajar en Android, por lo que Linux de propósito general no es una opción, ni rooting ni reflashing el firmware. Al menos no en este punto. – kaskelotti

2

Legalmente no es un problema en absoluto, no son Apple.

El application fundamentals explica cómo hacer eso en Java, el NDK explica cómo hacer las cosas en C/C++, supongo que de alguna manera puedes resolverlo.

+0

Gracias por la respuesta. No veo cómo el artículo de fundamentos de la aplicación me ayuda en este asunto. Discute sobre los servicios, pero estoy hablando de algo que se ejecuta en el nivel inferior. El NDK parece ofrecer una forma de agrupar código escrito en C/C++ dentro de los archivos apk. Estos siempre son ejecutados/usados ​​por Dalvik VM. Lo que necesito es un proceso en segundo plano que se ejecute directamente sobre el sistema operativo, en el mismo nivel que el ddmd, por ejemplo. Para cuestiones legales, me preocupa piratear el proceso init o algunos de sus archivos rc, etc. – kaskelotti

+1

Cita de la página de NDK "Tenga en cuenta que el NDK no le permite desarrollar aplicaciones nativas. El tiempo de ejecución principal de Android sigue siendo la máquina virtual de Dalvik". – kaskelotti

+0

Lo siento, no entendí que quería pasar por alto todo, pensé que solo quería crear un servicio usando C. Supongo que lo que quiere hacer simplemente no es posible con la ROM estándar (aunque no estoy seguro) . –