2010-05-10 30 views
6

E 'possibile (senza violare alcuna licenza) scrivere un'applicazione C/C++ nativa sul sistema operativo Android e farla funzionare come un processo demone?Processo daemon Android

Esistono già diversi processi daemon che possono essere visualizzati con il comando "ps", la parte legale riguarda di più. E anche la mancanza di documentazione su come fare esattamente questo.

Per la parte di scrittura, credo che si possano usare concetti di programmazione di base di Linux, dal momento che Android supporta almeno un certo livello l'API Posix standard. Per farlo funzionare all'avvio del telefono, ovviamente sono necessarie alcune modifiche anche in init.

Non ho intenzione di avere questa app in Android Market, quindi l'installazione manuale sul telefono non è un problema. Finché non richiede la ricompilazione dell'intero sistema operativo o del kernel.

Apprezzo molto tutte le informazioni su questo argomento, poiché non c'è molto disponibile.

Grazie.

+0

Sto studiando anche l'NDK e ho notato che esiste una lista di librerie "stabili" che dovrebbero essere utilizzate solo. Questo esclude l'uso delle librerie standard di Poxis (o di cosa sono implementate le sue)? – kaskelotti

risposta

4

E 'possibile (senza violare alcun licenze) per scrivere un nativo/C++ applicazione C sulla parte superiore del sistema operativo Android e farlo funzionare come un processo demone?

Non pulito.

E anche la mancanza di documentazione su come fare esattamente questo.

Perché non si dovrebbe fare questo, tranne la modifica del firmware.

Per farlo funzionare all'avvio del telefono, alcune modifiche sono ovviamente necessarie anche in init.

Quale sarà possibile solo su un telefono rooted (nella migliore delle ipotesi) o tramite la modifica del firmware (nella peggiore delle ipotesi).

NDK di Android è progettato per creare librerie per la connessione a applicazioni Java tramite JNI. Se stai cercando un ambiente Linux generico, Android non è la risposta.

+0

Grazie per la risposta. Questo praticamente esclude questa opzione, continuerò a cercare alternative. Devo lavorare su Android, quindi Linux generico non è un'opzione, né il rooting o il reflash del firmware. Almeno non a questo punto. – kaskelotti

2

Legalmente non è affatto un problema, non sono Apple.

Il application fundamentals spiega come farlo in Java, il NDK spiega come fare cose in C/C++, credo che in qualche modo si possa capire.

+0

Grazie per la risposta. Non vedo come l'articolo sui fondamenti dell'applicazione mi aiuti su questa questione. Discute sui servizi, ma sto parlando di qualcosa che funziona nel livello inferiore. L'NDK sembra offrire un modo per associare codice scritto C/C++ all'interno dei file apk. Questi vengono sempre eseguiti/utilizzati dalla VM di Dalvik. Quello di cui ho bisogno è un processo in background eseguito direttamente sul sistema operativo, ad esempio sullo stesso livello del ddmd. Per questioni legali, sono preoccupato per l'hacking del processo init o di alcuni dei suoi file rc etc. – kaskelotti

+1

Citazione dalla pagina NDK "Notare che NDK non consente di sviluppare applicazioni native.Il runtime primario di Android rimane la macchina virtuale Dalvik." – kaskelotti

+0

Mi dispiace, non ho capito che volevi bypassare tutto, pensavo volessi creare un servizio usando C. Immagino che quello che vuoi fare non sia possibile con la ROM standard (non sono sicuro, però) . –