2010-12-01 20 views
14

Je travaille actuellement sur une grande application Android en utilisant une quantité massive de code C++. Il compile et fonctionne, jusqu'ici tout va bien.Android NDK incremental build

Malheureusement, chaque fois que je modifier quelque chose dans la structure de ma source native (ajouter/supprimer/renommer/déplacer un fichier), ce qui arrive assez souvent, NDK-construire reconstruit toute la source, même les fichiers intacts.

Est-ce que quelqu'un sait comment je peux configurer l'Android NDK pour construire de façon incrémentielle en quelque sorte?

Merci à l'avance

+0

Je ne suis pas au courant de quoi que ce soit qui fasse cela. J'aimerais savoir s'il y a une solution. J'ai cherché un –

Répondre

11

Je me suis marre avec le système de construction NDK, étudié pour un peu, et écrit mes propres makefile. Ce n'était pas dur.

Cependant, il m'a alors été signalé que je devais prendre la responsabilité de suivre les modifications futures de la plateforme, par exemple s'il devenait nécessaire d'expédier des binaires pour d'autres types de processeur. pour modifier ma solution de construction de chez moi pour le faire aussi.

Dans d'autres contextes, j'ai parfois eu des projets avec deux systèmes de construction - un pour les expériences rapides, l'autre pour les builds déployables. Le temps consacré à la mise à jour de temps en temps a été sauvegardé plusieurs fois dans le gain de vitesse pour le travail quotidien. Pourvu que je devais faire une vraie construction au moins chaque semaine ou deux, les choses ne sont jamais très loin de la cohérence (et les deux scripts de construction étaient dans le système de contrôle de révision, donc il y avait de l'histoire à examiner). Quelque chose comme ceci pourrait être fait avec un makefile personnalisé pour les versions de débogage et toujours en utilisant le système de construction NDK pour les paquets déployables. (Dans un cas de faire beaucoup d'expériences à la limite de ce que la plate-forme permet, j'ai effectivement eu mon makefile poussant le .so mis à jour sur l'appareil et a donné à mon application l'un des boutons hard-stop découragés, donc Je pourrais le redémarrer en utilisant une bibliothèque native mise à jour sans même avoir à reconstruire et à réinstaller l'apk)

+0

Si possible, s'il vous plaît partager plus d'informations sur le processus de construction de notre propre makefile et comment gérer les macros spécifiques Android, etc. – Midson

+2

@Midson - exécuter le script ndk make avec l'option V = 1 pour sortie verbeuse. Copiez le résultat dans un éditeur et commencez à le diviser en catégories traditionnelles pour les variables makefile. –