que programar para necesito lenguajes desarrollar aprender apps app aplicaciones c++ c android

necesito - programar en c++ para android



Escribir aplicaciones en C o C++ para Android? (20)

Desde 2009 hay un desarrollo en esta materia.
Necessitas - Qt (framework C ++) para Android
Empezando el video .

Estoy tratando de desarrollar / portar un juego a Android, pero está en C, y Android es compatible con Java, pero estoy seguro de que debe haber una manera de obtener una aplicación de C allí, cualquiera sabe de un buen tutorial sobre el tema ?

¡Gracias!



El Android NDK es un conjunto de herramientas que le permite implementar partes de su aplicación en código nativo, utilizando lenguajes como C y C ++. Para ciertos tipos de aplicaciones, esto puede ayudarlo a reutilizar las bibliotecas de códigos escritas en esos idiomas.

Para obtener más información sobre cómo comenzar con el desarrollo nativo, siga este enlace .

Las aplicaciones de muestra se pueden encontrar here .


Esta publicación del blog puede ser un buen comienzo: here Desafortunadamente, muchas de las cosas importantes se "dejan como un ejercicio para el lector".



Existe un plan para permitir las bibliotecas de C / C ++ en la próxima versión de SDK de Android (¿Codename Eclair?) Hasta la fecha, no es posible a través del Android SDK de Java. Sin embargo, puede capturar el ENORME proyecto de código abierto, rodar sus propias bibliotecas y luego actualizar su propio dispositivo ... pero cualquier persona que quiera usar su biblioteca también tendrá que actualizar su compilación personalizada.



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

Esperemos que la información se actualice en la página de grupos de google ( http://groups.google.com/group/android-ndk ), ya que dice que aún no se ha publicado.

No estoy seguro de dónde obtener una descarga simple para él, pero he oído que puede obtener una copia del NDK del repositorio Git de Google en la rama de donas.


Google ya ha lanzado Google I / O 2011: trae los juegos de C y C ++ a la sesión de Android que está disponible en http://www.youtube.com/watch?v=5yorhsSPFG4

lo cual es bueno para entender el uso de NDK para escribir aplicaciones en c y c ++ para Android.

Si solo desea compilar de forma cruzada cualquier juego nativo basado en consola y ejecutarlos en Android, este artículo ha mostrado 3 métodos para el mismo.

1: compilación estática utilizando toolchain independiente

2: Compilación cruzada usando la cadena de herramientas de Android NDK

3: Compilación cruzada usando el código fuente de AOSP


La posición oficial parece ser que esto no es algo que alguna vez "querrías hacer". Ver este hilo en la lista de desarrolladores de Android. Google prevé que Android se ejecute en una variedad de dispositivos diferentes (CPU, pantallas, etc.). La mejor manera de habilitar el desarrollo es, por lo tanto, utilizar el código administrado (portátil) que se dirige a la máquina virtual de Dalvik. Por esta razón, el SDK de Android no es compatible con C / C ++.

PERO, mira esta página :

Android incluye un conjunto de bibliotecas C / C ++ utilizadas por varios componentes del sistema Android. Estas capacidades están expuestas a los desarrolladores a través del marco de la aplicación de Android.

El marco de la aplicación administrada parece estar en capas sobre estas bibliotecas. La página continúa para enumerar las bibliotecas de C / C ++: biblioteca de C estándar, medios, 3D, SQL lite y otros.

Entonces, todo lo que necesita es una cadena de compiladores que compile C / C ++ a la CPU apropiada (ARM, en el caso del G1). Algunas instrucciones breves sobre cómo hacer esto están here .

Lo que no sé es dónde encontrar descripciones de las API que proporcionan estas bibliotecas. Supongo que puede haber archivos de encabezado enterrados en el SDK en algún lugar, pero la documentación puede ser incompleta / faltante. Pero creo que se puede hacer!

Espero que sea útil. Para el registro, no he escrito ninguna aplicación nativa de Android, solo unas pocas gestionadas de forma simple.

Andy


Los archivos nativos C / c ++ libstdc ++. * De su Ubuntu son binarios x86 (o x86_64) pero los dispositivos y emuladores de Android son ARM. Por supuesto, esto no funcionará de todos modos, incluso si configuras el nombre de usuario correcto. Esta es una manera muy ingenua que no lleva a ninguna parte. Android tiene un soporte muy limitado de C ++, lo que significa que no hay excepciones, la biblioteca estándar de C ++ (incluida STL) y RTTI. Si necesita dicha funcionalidad, use mi distribución NDK personalizada de

http://crystax.net/android/ndk.php : es compatible con todas las funciones de C ++ enumeradas anteriormente.

¿Por qué hay un error: referencia no definida al error de enlace ''__cxa_end_cleanup''? Android stlport

hora. Porque no hay enlace a libstdc + +. A. tan mal

Debido a que utiliza alguna biblioteca estática, es necesario vincular el libstdc + + completo. Una lata

http://crystax.net/android/ndk.php aquí para descargar el paquete

sources / cxx-stl / gnu-libstdc + + / libs / armeabi directory.

Android en su propio soporte libstdc + + es limitado, debe estar vinculado a un libstdc + + completo. A el trabajo.

Agregar archivo en Android.mk LOCAL_LDFLAGS = $ (LOCAL_PATH) / libs / libcurl.a /

$ (LOCAL_PATH) / libs / liblua.a / `$ (LOCAL_PATH) / libs / libstdc + +. A`

Y se pueden compilar LOCAL_CPPFLAGS + =-lstdc + +-fexceptions


Mirando esto parece que es posible:

"El hecho de que solo se admita el lenguaje Java no significa que no pueda desarrollar aplicaciones en otros idiomas. Esto ha sido probado por muchos desarrolladores, hackers y expertos en desarrollo de aplicaciones para dispositivos móviles. Los miembros de Elements Interactive BV, la compañía detrás de Edgelib. La biblioteca logró ejecutar aplicaciones nativas de C ++ en la plataforma Android, incluso que en este momento todavía hay muchos problemas en pantalla y sonido ... etc. Esto incluye el juego S-Tris2 y una demostración en 3D de la animación de Edgelib ".


No conozco un tutorial pero una buena herramienta de desarrollo: Airplay SDK de Ideaworks Labs. (Recientemente renombrado " Marmelade ") Usando C / C ++ puedes crear aplicaciones para Windows Mobile, iPhones, Android. El único componente que no me gustó fue el compositor de GUI, uno con errores, pero siempre puedes sustituirlo con el Bloc de notas.


No estoy seguro de que el NDK proporcione una cobertura completa de la API oficial de Java.

Desde http://developer.android.com/sdk/ndk/index.html#overview :

Tenga en cuenta que el NDK no le permite desarrollar aplicaciones nativas. El tiempo de ejecución principal de Android sigue siendo la máquina virtual Dalvik.


Normalmente, tienes que:

  1. Instale el Android NDK de Google. Contiene libs, encabezados, ejemplos de makfile y gcc toolchain
  2. Cree un ejecutable a partir de su código C para ARM, optimícelo y vincúlelo con las librerías proporcionadas si es necesario
  3. Conéctese a un teléfono usando la interfaz ADB provista y pruebe su ejecutable

Si buscas vender una aplicación:

  1. Construye una biblioteca desde tu código C
  2. Crea código Java simple que utilizará esta biblioteca.
  3. Incrustar esta biblioteca en el archivo del paquete de aplicación
  4. Prueba tu aplicación
  5. Véndelo o distribúyelo gratis.


Puede descargar c4droid y luego instalar el complemento GCC e instalarlo en su SD. Desde el shell, solo atravieso el directorio donde está el binario GCC y luego lo llamo para hacer un ejecutable a bordo.

encontrar / -nombre gcc

/mnt/sdcard/Android/data/com.n0n3m4.droidc/files/gcc/bin/arm-linux-androideabi-gcc

cat> test.c

#include<stdio.h> int main(){ printf("hello arm!/n"); return 0; }

./arm-linux-androideabi-gcc test.c -o test

./prueba

hola brazo



Respuesta corta: No puedes.

@ Backslash17: Mirando a través del artículo y el siguiente enlace con las instrucciones de instalación, todo lo que la compañía consiguió es lanzar un ejecutable auto compilado en el emulador, sin pasar por el marco de Android. Una vez que tenga el emulador, puede hacer telnet y tener un shell de Linux. Ejecutar un programa de linux es trivial, por supuesto. Pero eso no funciona para teléfonos sin jailbreak (también conocido como acceso raíz) y no se puede entregar en el mercado.

A menos que Google abra otras oportunidades o alguien escriba un compilador personalizado que compile Language X en el bytecode Dalvik (Dalvik es la VM que ejecuta programas de Android), no podrá escribir código nativo.


Tal vez usted está buscando esto?

http://www.mosync.com/

Es una capa intermedia para el desarrollo de varias plataformas móviles que utilizan c ++.