218 votos

¿Escribir aplicaciones en C o C++ para Android?

Estoy tratando de desarrollar/Puerto un juego para Android, pero es en el C y Android soporta Java, pero estoy seguro de que debe haber una manera de conseguir una aplicación C allí, alguien sabe de un buen tutorial sobre el tema.

¡ Gracias!

195voto

Andy Johnson Puntos 4683

Para cualquiera esto a través de google, tenga en cuenta que a partir de Android SDK 1.6 ahora tiene un SDK nativo oficial. No parece haber una página general para la 'NDK', pero la página de descarga para la primera versión está aquí.

34voto

MannyNS Puntos 3510

Usted puede desarrollar aplicaciones nativas para Android, he hecho algunos trabajos en esa área. El mejor enlace para que es Android NDK página. En breve, la manera más fácil para usted sería usar JNI de contenedor para iniciar y vaya a su aplicación. Para este trabajo, deberá también se puede usar Android compilador que está disponible junto con Android de código fuente. Un viejo alternativa es CodeSourcery, pero es mejor usar el nativas prediseñadas compilador. Usted tendrá que utilizar Bionic C-biblioteca, y dar cabida a las necesidades de su aplicación a las características existentes en C/C++ en Android. Algunas de Linux IPC falta, tales como el Sistema de V, pero su aplicación C/C++, probablemente, no es el uso que de todos modos. Tenga en cuenta que en su investigación, usted debe evitar el uso de artículos que se refieren a las versiones anteriores de Android SDK. Así, evitar todos los vínculos de 2008. o 2007.

12voto

Marc Puntos 2019

Google ha lanzado una Native Development Kit (NDK) (según http://www.youtube.com/watch?v=Z5whfaLH1-E a las 00:07:30).

Esperemos que la información será actualizada en los grupos de google (páginahttp://groups.google.com/group/android-ndk), ya que se dice que no ha sido liberado todavía.

No estoy seguro de dónde obtener una simple descarga, pero he oído que usted puede obtener una copia de la NDK de Google repositorio Git bajo el donut de la rama.

11voto

Andy Johnson Puntos 4683

La posición oficial parece ser que esto no es algo que alguna vez había que "se quiere hacer". Ver este hilo en la lista de Desarrolladores de Android. Google prever android que se ejecuta en una variedad de diferentes dispositivos (Cpu, monitores, etc.). La mejor manera para que el desarrollo es, por tanto, el uso (portátil) de código administrado que se dirige a la Dalvik VM. Por esta razón, el SDK de Android no soporta C/C++.

PERO, echa un vistazo a esta página:

Android incluye un conjunto de C/C++ bibliotecas usadas por varios componentes de el sistema Android. Estas las capacidades se exponen a los desarrolladores a través de la aplicación para Android marco.

La aplicación administrada marco parece ser capas en la parte superior de estas bibliotecas. La página va en la lista de la C/C++ bibliotecas: biblioteca estándar de C, media, 3D, SQL lite, y otros.

Así que todo lo que usted necesita es un compilador de la cadena que se va a compilar C/C++ para el adecuado CPU (BRAZO, en el caso de la G1). Algunas breves instrucciones sobre cómo hacer esto están aquí.

Lo que no sé es donde se encuentran las descripciones de las APIs que estos proporcionan las bibliotecas. Me imagino puede haber archivos de encabezado enterrado en el SDK en algún lugar, pero la documentación puede ser incompleto/desaparecidos. Pero creo que se puede hacer!

La esperanza de que eso es útil. Para el registro, no he escrito ningún nativo de android apps - sólo unas simples administrados.

Andy

11voto

psihodelia Puntos 6658

Normalmente, usted tiene que:

  1. Instalar Google Android NDK. Es contiene las bibliotecas, encabezados, makfile ejemplos y gcc toolchain
  2. Generar un ejecutable a partir de su código C para el BRAZO, optimizar y enlace con siempre libs si es necesario
  3. Conectar un teléfono usando siempre adb interface y la prueba de su ejecutable

Si usted está mirando para vender una aplicación:

  1. Construir una biblioteca en su código C
  2. Crear una simple código de Java que se use esta biblioteca
  3. Incrustar esta biblioteca en la aplicación archivo de paquete
  4. Probar la aplicación
  5. Vender o distribuir gratis

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X