2012-01-21 50 views
9

¿Cómo desarrollo aplicaciones de Android utilizando lenguaje ensamblador, ya sea en Windows o Linux?Desarrollo de aplicaciones de Android con lenguaje ensamblador

+3

¿Cuál es su motivación para usar el ensamblaje? –

+2

Duplicado de [este] (http://stackoverflow.com/questions/5390509/linking-android-c-code-and-arm-assembler) y [este] (http://stackoverflow.com/questions/6506781/ arm-assembly-code-in-an-android-project). – kabuko

Respuesta

2

Nunca oí o ver androide desarrollo con lenguaje ensamblador (Si usted está hablando de C, C++, entonces es posible) ..

Pero, si usted quiere escribir su aplicación para Android de alguna C, C++ idioma, entonces se puede usar Android NDK para eso. Pero en ese caso también debes crear una interfaz de interfaz de usuario con Android java para tu aplicación.

También si usted es bueno en Objective C, entonces también puede utilizar un QT y luego integrarlo con Android pero está en alguna fase inicial apoyado ..

ACTUALIZACIÓN: También tienen ningún archivo de lenguaje ensamblador, entonces puede integrarlo con nativo Android.mk (Java Native Interface) y utilícelo en su aplicación de Android. Pero esto no incluye ninguna parte UI.

+0

Siempre fue posible escribir cosas de UI en c/C++ ... OpenGL es una excelente aplicación para hacerlo. También puede escribir directamente en la pantalla ... aunque no sé cómo, supongo que si está escribir en ensamble la mayoría de los bloques de carretera son algo que puede sortear. – baash05

4

No lo sé personalmente, pero encontré ejemplos en la red (Android ARM inline assembly, Motivation for hand-optimized Assembly code), así que supongo que puede hacerlo. Mirándolo, está claro que están codificando en C o C++ usando Android's NDK e insertando allí el código ensamblador, así que solo puedo sugerir que comiences a buscar allí.

Puede aumentar enormemente la eficiencia al escribir su código en lenguaje ensamblador, pero debe tratar de encontrar un punto intermedio entre eficiencia y facilidad de mantenimiento, esa es la razón por la que tenemos lenguajes orientados a objetos (como Java). Por lo tanto, como consejo personal, usaría Java para todo excepto para una tarea realmente específica que necesita el máximo rendimiento (como la representación de video o imágenes).

Tenga en cuenta también otros problemas de ensamblaje, como el uso de métodos específicos que pueden no estar presentes en todos los procesadores ARM.

+0

En ese ensamblado en línea Android ARM, su sintaxis parece más complicada que el ensamblador en línea puro. ¿Puedo sugerir usar el ensamblador netbeans (V6.0 en el momento de la publicación) que le da el ensamblador a través del entorno C++. Con registro de reloj, etc. – Bob

Cuestiones relacionadas