2010-12-01 27 views
14

Attualmente sto lavorando su una grande app Android utilizzando una quantità massiccia di codice C++. Compila e corre, finora tutto bene.Sviluppo incrementale NDK Android

Purtroppo, ogni volta che modificare qualcosa nella struttura della mia fonte nativa (aggiungere/cancellare/rinominare/spostare un file), cosa che accade abbastanza spesso, NDK-costruire ricostruisce tutta la fonte, anche i file intatti.

Qualcuno sa come posso configurare l'NDK di Android per creare in modo incrementale in qualche modo?

Grazie in anticipo

+0

Non sono a conoscenza di nulla che faccia questo. Mi piacerebbe sapere se c'è una soluzione. Ho cercato uno –

risposta

11

mi sono stufi della NDK sistema di compilazione, studiato per un po ', e scritto il mio makefile. Questo non è stato difficile.

Tuttavia, mi è stato fatto notare che, in questo modo, avrei dovuto assumermi la responsabilità di tenere traccia delle future modifiche alla piattaforma, ad esempio se fosse necessario spedire i binari per ulteriori tipi di processore, avrei per modificare la mia soluzione di costruzione homegrown per fare anche questo.

In altri contesti, a volte ho avuto progetti con due sistemi di compilazione: uno per gli esperimenti rapidi, l'altro per i build distribuibili. Il tempo impiegato per l'aggiornamento di tanto in tanto è stato salvato più volte nel guadagno di velocità per il lavoro quotidiano. A condizione che dovessi fare una build reale almeno ogni settimana o due, le cose non sono mai state molto lontane dalla coerenza (e entrambi gli script di compilazione erano nel sistema di controllo di revisione, quindi c'era una storia da esaminare). Qualcosa di simile potrebbe essere fatto con un makefile personalizzato per le build di debug e ancora utilizzando il sistema di build NDK per i pacchetti implementabili.

(In un caso di fare molti esperimenti ai limiti di ciò che la piattaforma consente, ho effettivamente fatto in modo che il mio makefile spingesse il file .so aggiornato sul dispositivo e ha dato alla mia applicazione uno dei pulsanti scoraggiati, quindi Potrei riavviarlo usando una libreria nativa aggiornata senza nemmeno dover ricostruire e reinstallare l'apk)

+0

Se possibile, si prega di condividere alcune informazioni in più sul processo di creazione del proprio makefile e su come gestire i macro specifici di Android ecc. – Midson

+2

@Midson - eseguire lo script make ndk con l'opzione V = 1 per output dettagliato. Copia il risultato in un editor e inizia a dividerlo in categorie tradizionali per le variabili makefile. –