292 votes

Écrire des applications en C ou C ++ pour Android?

J'essaie de développer / porter un jeu sur Android, mais c'est en C, et Android supporte Java, mais je suis sûr qu'il doit y avoir un moyen d'obtenir une application C là-bas, tout le monde connaît un bon tutoriel sur le sujet ?

Merci!

250voto

Andy Johnson Points 4683

Notez que depuis SDK 1.6 Android, vous disposez désormais d'un SDK natif officiel. Il ne semble pas y avoir de page générale pour le 'NDK', mais la page de téléchargement de la première version est ici .

41voto

MannyNS Points 3510

Vous pouvez développer des applications natives pour Android, j'ai fait quelques travaux dans ce domaine. Le meilleur lien pour vous est Android NDK page. En bref, la façon la plus simple pour vous serait d'utiliser certains JNI wrapper pour démarrer et accédez à votre application. Pour ce travail, vous devriez vous pouvez également utiliser Android compilateur qui est disponible, avec code source Android. Un vieux alternative est CodeSourcery, mais il est préférable d'utiliser le natif prêts à l'emploi compilateur. Vous devrez utiliser Bionic C-bibliothèque, et d'accommoder les besoins de votre application pour les fonctions en C/C++ sur Android. Certains Linux CIB est manquant, tels que le Système V, mais votre application C/C++ n'est probablement pas l'aide que, de toute façon. Notez que dans votre recherche, vous devriez éviter les articles qui font référence à d'anciennes versions d'Android SDK. Donc, éviter tous les liens à partir de 2008. ou 2007.

20voto

psihodelia Points 6658

Normalement, vous devez:

  1. Installer Google Android NDK. Il contient des libs, en-têtes, makfile des exemples et de la chaîne de compilation de gcc
  2. Construire un exécutable à partir de votre code C pour les BRAS, d'optimiser et de faire le lien avec fourni libs si nécessaire
  3. Se connecter à un téléphone à l'aide fournie adb interface et de tester votre exécutable

Si vous cherchez à vendre d'une application:

  1. Construire une bibliothèque à partir de votre code C
  2. Pour créer un code Java qui sera l'utilisation de cette bibliothèque
  3. Intégrer cette bibliothèque en application fichier de package
  4. Test de votre application
  5. Le vendre ou de le distribuer gratuitement

14voto

Marc Points 2019

Google a publié une Native Development Kit (NDK) (selon http://www.youtube.com/watch?v=Z5whfaLH1-E à 00:07:30).

Nous espérons que les informations seront mises à jour sur le google page groupes (http://groups.google.com/group/android-ndk), comme il est dit, il n'a pas encore été dévoilé.

Je ne suis pas sûr de savoir où obtenir un téléchargement simple pour elle, mais j'ai entendu dire que vous pouvez obtenir une copie de la NDK de Google Git repository sous le donut de la branche.

12voto

Andy Johnson Points 4683

La position officielle semble être que ce n'est pas quelque chose que vous auriez jamais "vouloir faire". Voir ce fil sur les Développeurs Android liste. Google envisage android en cours d'exécution sur une variété de différents appareils (unités centrales, écrans, etc). La meilleure façon de permettre le développement est donc d'utiliser (portable) de code managé qui cible le Dalvik VM. Pour cette raison, le SDK Android ne supporte pas C/C++.

MAIS, prendre un coup d'oeil à cette page:

Android comprend un ensemble de C/C++ les bibliothèques utilisées par les différents composants le système Android. Ces les capacités sont exposés à des développeurs grâce à l'application Android cadre.

L'application gérée cadre apparaît à plusieurs couches sur le dessus de ces bibliothèques. La page énumère les C/C++ bibliothèques: bibliothèque standard C, multimédia, 3D, SQL lite, et d'autres.

De sorte que tous vous avez besoin est un compilateur de la chaîne qui va de la compilation C/C++ à la appropriée de l'UC (de BRAS, dans le cas de la G1). Quelques brèves instructions sur la façon de le faire sont ici.

Ce que je ne sais pas où trouver des descriptions de l'Api que ces bibliothèques fournissent. Je suppose il peut y avoir des fichiers d'en-tête enfouie dans le SDK quelque part, mais la documentation ne peut être croquis/manquant. Mais je pense qu'il peut être fait!

Espérons que c'est utile. Pour l'enregistrement, je n'ai pas écrit tout natif android apps - quelques géré simple.

Andy

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X