You are on page 1of 6

17/9/2014 Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de ejemplo | Zona para

desarrolladores Intel
https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo 1/6
Enviado por Vadim Kartoshki... (/es-es/user/511364) el Mar, 02/09/2014 - 12:15

Compartir (https://www.facebook.com/sharer/sharer.php?u=https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo)

Tweet (https://twitter.com/intent/tweet?text=Check out the Intel IDZ%3A&url=https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo)


3
Compartir (https://plus.google.com/share?url=https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo)
Objetivo
El complemento de Android para Eclipse (ADT) ahora admite el desarrollo de aplicaciones basadas en el NDK. Puede autogenerar archivos de
proyectos y compilacin, y trozos de cdigo, e integrarse al desarrollo de aplicaciones para Android (con la compilacin de bibliotecas nativas, el
copiado de bibliotecas a la carpeta de JNI correspondiente del proyecto, el empaquetamiento de la aplicacin y la generacin del APK final con
cdigo del NDK incluido). En este artculo veremos cmo configurar Eclipse para aprovechar esta propiedad y seguiremos los pasos de la
portacin de un ejemplo de aplicacin del NDK.
Configuracin del complemento ADT para Eclipse con el objetivo de usarlo en el NDK
Antes de poder usar esta nueva herramienta, debemos configurar el ADT para Eclipse de manera que apunte al lugar donde est instalado el
NDK. En primer lugar, asegrese de actualizar el complemento ADT en Eclipse para contar con la versin que incluya los ltimos cambios y
descargue el NDK ms reciente de este sitio:
http://developer.android.com/tools/sdk/ndk/index.html (http://developer.android.com/tools/sdk/ndk/index.html)
En Eclipse, abra Window->Preferences->Android->NDK. Escriba la ruta de instalacin del NDK (aqu suponemos que ha descargado el NDK en
c:\sw\android-ndk en Windows*), como se muestra en la imagen de abajo, y haga clic primero en Apply y despus en OK.
Figura 1: Configuracin del NDK en el complemento ADT de Android para Eclipse
Ahora debemos habilitar y activar en el ADT las herramientas relacionadas con el NDK. Abramos uno de los ejemplos de JNI del NDK y
compilmoslo.
Abrimos la aplicacin de ejemplo hello-jni en Eclipse y agregamos al proyecto compatibilidad
con NDK build
Para compilar el ejemplo nativo de JNI del NDK en Eclipse, necesitamos que el ADT sepa que en este ejemplo se usa cdigo nativo/NDK.
Primero importemos a Eclipse el ejemplo HelloJni. En Eclipse, abra File -> New -> Project -> Android -> Android Project desde Existing Code. En
la pantalla siguiente, ingrese la ruta del proyecto de ejemplo hello-jni (disponible en la carpeta de instalacin del NDK), marque la casilla Copy
projects into workspace (copiar los proyectos al espacio de trabajo) y haga clic en Finish. Reemplace la ruta del directorio raz con la ruta de
HelloJni de su carpeta de instalacin del NDK.
Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de
ejemplo
Zona para desarrolladores Intel
= & = 9
17/9/2014 Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de ejemplo | Zona para desarrolladores Intel
https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo 2/6
Figura 2: Importacin del proyecto de ejemplo HelloJni en Eclipse
Como el NDK de Android x86 es compatible con Gingerbread* y versiones ms nuevas de Android, actualicemos la configuracin de SDK mnima
y de destino en el manifiesto de la aplicacin. En Eclipse, hay que abrir AndroidManifest.xml en HelloJni Sample; haga clic en Uses SDK en el
editor de AndroidManifest y verifique que Min SDK est establecido en 10 (API 10).
Figura 3: Editor del archivo de manifiesto en Eclipse
Ahora estamos listos para agregar compatibilidad con NDK build a este proyecto en Eclipse. En Eclipse, haga clic con el botn derecho en el
proyecto hello-jni (com.example.hellojni.HelloJni) -> Android Tools -> Add Native Support -> clic en Finish.
17/9/2014 Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de ejemplo | Zona para desarrolladores Intel
https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo 3/6
Figura 4: Agregar compatibilidad con el NDK al proyecto en Eclipse
Esta accin actualiza la configuracin del proyecto con valores relacionados con la compilacin en el NDK. Cuando volvamos a compilar el
proyecto, primero compilaremos el cdigo del NDK, copiaremos las bibliotecas compiladas a las carpetas correspondientes y luego continuaremos
con el proceso de compilacin normal del APK.
Compilacin y ejecucin de la aplicacin en el emulador
Compilemos la aplicacin y ejecutmosla en el emulador de Android. Damos por hecho que ya se tiene el AVD x86 Gingerbread ejecutndose en
un emulador de Android basado en HAXM.
En Eclipse, haga clic con el botn derecho en el proyecto hello-jni (com.example.hellojni.HelloJni) -> Run As -> Android Application. Eclipse
debera volver a compilar automticamente el proyecto e intentar implementar/ejecutar el APK en el emulador.
Pero cuando se ejecuta el emulador, vemos un mensaje de error debajo porque la configuracin predeterminada del proyecto respecto del NDK
no admite x86.
Figure 5: Running the sample app in Emulator
En Eclipse, se puede ver que el logcat muestra el error couldnt load hello-jni (no se pudo cargar hello-jni).
17/9/2014 Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de ejemplo | Zona para desarrolladores Intel
https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo 4/6
Figura 6: El logcat indica falla en la carga de la biblioteca nativa
De manera predeterminada, NDK build no compila automticamente para ABI x86. Deberemos crear un archivo de compilacin Application.mk
para especificar explcitamente nuestros destinos de compilacin o pasar argumentos de lnea de comandos al comando NDK build.
Portacin de la aplicacin para usar ABI x86 y archivos de compilacin del NDK
Modifiquemos el proyecto para que admita ABI x86. En Eclipse, haga clic con el botn derecho en la carpeta jni del proyecto hello-jni, luego elija
New -> File -> escriba Application.mk como nombre de archivo y haga clic en Finish.
Figura 7: Agregar un nuevo archivo de compilacin del NDK Application.mk al proyecto de ejemplo
Agregue al archivo Application.mk la lnea APP_ABI := all, como se muestra abajo, y guarde el archivo.

Figura 8: Modificacin del archivo Application.mk para que sus arquitecturas de destino sean todas (all).
Compilacin de la aplicacin, comprobacin de que compila la biblioteca x86 y prueba en el
emulador de x86
Ahora, cuando volvamos a compilar la aplicacin, se compilar para todas las ABI admitidas en el NDK. Haga clic con el botn derecho en el
proyecto en Eclipse -> Run As -> Android Application. Eclipse invocar automticamente a NDK build y generar todas las bibliotecas nativas. Es
posible verificarlo en la carpeta de bibliotecas, como se muestra abajo.
17/9/2014 Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de ejemplo | Zona para desarrolladores Intel
https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo 5/6
Figura 9: El explorador de proyectos de Eclipse muestra las bibliotecas nativas generadas
Eclipse implementar la aplicacin en el emulador. Esta vez deberamos ver que la aplicacin se ejecuta bien, como se muestra en la captura de
pantalla:
Figura 10: Ejecucin exitosa de la aplicacin de ejemplo en el emulador de Android x86
Esperamos que con este artculo haya aprendido a configurar el ADT para Eclipse para desarrollar cdigo del NDK y a usar el archivo de
compilacin del NDK Application.mk para compilar las ABI de destino necesarias.
Artculos y recursos relacionados:
Intel Hardware Accelerated Execution Manager (Intel HAXM) (http://software.intel.com/en-us/android/articles/intel-hardware-
accelerated-execution-manager)
Intel Graphics Performance Analyzers 2014 (Intel GPA) (http://software.intel.com/en-us/vcsource/tools/intel-gpa)
Notices
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY
ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN
INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,
COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY
ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN
INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL
DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,
COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or
characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no
responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without
notice. Do not finalize a design with this information.
The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from
published specifications. Current characterized errata are available on request.
Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order.
Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-
17/9/2014 Uso del NDK de Android para x86 con Eclipse y portacin de una aplicacin de ejemplo | Zona para desarrolladores Intel
https://software.intel.com/es-es/articles/uso-del-ndk-de-android-para-x86-con-eclipse-y-portaci-n-de-una-aplicaci-n-de-ejemplo 6/6
548-4725, or go to: http://www.intel.com/design/literature.htm (http://www.intel.com/design/literature.htm)
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests,
such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations, and functions. Any change
to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating
your contemplated purchases, including the performance of that product when combined with other products.
Any software source code reprinted in this document is furnished under a software license and may only be used or copied in accordance with the
terms of that license.
Intel and the Intel logo are trademarks of Intel Corporation in the US and/or other countries.
Copyright 2012 Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.
Optimization Notice
Categoras: Migracin (/es-es/search/site/language/es?query=Porting) , Android* (/es-es/search/site/language/es?query=Android%2A) , Telfono
(/es-es/search/site/language/es?query=Phone) , Android* (/es-es/search/site/language/es?query=Android%2A)
Etiquetas: Eclipse (/es-es/search/site/field_tags/eclipse-18546/language/es?query)
Trminos de uso *Marcas comerciales Privacidad Cookies
Para obtener informacin ms completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimizacin (optimization-
notice).
*Superior
Agregue un comentario
(Para participar en conversaciones tcnicas, visite nuestros foros para desarrolladores. Si tiene problemas con el sitio o productos de software
comunquese con asistencia tcnica.)
Please sign in to add a comment. Not a member? nase ya^
Bsquenos en:
M
Espaol^

You might also like