Debug vs Version s'appuie sur l'Android NDK
Je suis en train de travailler sur un grand moteur de jeu qui doit être porté à Android. Tout le code est en C/C++, donc nous sommes portage via le NDK. J'ai tout bâtiment, mais après beaucoup de récurer, je suis encore incertain, ce qui est la meilleure méthode pour la construction de Débogage vs Version de notre .donc fichier. Changer les choses en main tous les temps se fait vieux.
Vous avez différentes Applications.mk fichiers pour chaque cible? Ou est-il un moyen d'inclure des cibles multiples dans un seul Android.mk fichier sous la jni/répertoire? Ou peut-être une troisième option pourrait être d'écrire un standard makefile qui définit les variables d'environnement que de l'Android.mk fichier utilise pour informer le processus de construction?
Enfin, une dernière question concernant le android:debuggable indicateur qui doit être défini dans le AndroidManifest.xml fichier. Ce qui ont un quelconque effet sur le code natif est copié à l'appareil?
Meilleur et merci,
Kevin
OriginalL'auteur Kevin Depue | 2011-07-05
Vous devez vous connecter pour publier un commentaire.
Pas. Différents sous-répertoires, tous avec leur propre Android.mk (partagé et les bibliothèques statiques) mais une seule Application.mk pour moi.
Ma Demande.mk est juste:
C'est un peu dispersé, pour moi au moins, à l'aide de la jni/Android.mk + Application.mk mise en page.
Application.mk a
APP_OPTIM := debug
Ensuite, dans l'élément de la demande de AndroidManifest.xml j'ai
android:debuggable="true"
Lorsque vous créez avec le ndk-build, il utilise ce manifeste indicateur pour déterminer l'optimisation (ce qui est utile pour l'éteindre ou l'allumer, éteindre pour le profilage, etc.)
(Un Peu Hors sujet) j'ai récemment couru à travers
https://code.google.com/p/android-ndk-profiler/
Qui, lorsqu'il est combiné avec http://code.google.com/p/jrfonseca/wiki/Gprof2Dot
Génère quelques jolies images à l'aide de mon peu d'esprit de comprendre la façon dont les choses sont en cours d'exécution sur le téléphone lui-même.
Je me retrouve à faire plus de profilage de débogage, et il y a un peu plus d'options de jeu/filtre sur chaque sous-projet (-fomit-frame-pointer et -pg sont incompatibles, par exemple), donc c'est un peu plus compliqué dans mon cas, car je ne veux pas la totalité de ma lib chaîne -pg.
OriginalL'auteur dwerner
Vous n'êtes pas obligé d'utiliser Android.mk système pour construire votre .. Personnellement, je utiliser mon propre Makefile avec les objectifs dont j'ai besoin et cela permet de très standardisée de débogage vs version des spécifications de construction.
Nous utilisons également notre propre système de build (pas le ndk), mais sachez que c'est beaucoup de travail. Vous aurez certainement à construire un échantillon NDK projets et assurez-vous que vous comprenez tout ce NDK est en train de faire avec les drapeaux de compilation, etc. (Nous n'utilisons pas le NDK choses puisque nous faisons beaucoup de non-android s'appuie trop; utiliser le NDK seulement pour android est encore plus de travail que d'utiliser notre propre système de construction pour tout).
OriginalL'auteur mah
- Je utiliser un seul fichier pour créer une bibliothèque pour les différentes cibles. Dans l'Application.mk ajouter ce "APP_ABI := armeabi armeabi-v7a" ça marche pour moi.
OriginalL'auteur frojas