Utilizar archivos dll en la aplicación Android

¿Puedo usar archivos dll (comúnmente utilizados en Windows Application) en la aplicación android?

Android se ejecuta en un sistema Linux – archivos DLL son por lo general bytecode compilado para Windows.

DLL significa "Dynamic Link Library" y es un concepto de Windows. El equivalente en linux es SO (Shared Object).

Puede hacer referencia a este artículo en CodeProject para obtener similitudes y diferencias entre los dos.

Esta pregunta Stackoverflow es bastante similar.

Si tiene los archivos src para el archivo DLL, intente volver a compilarlo como un objeto compartido ELF32 y, a continuación, vincule ese código en su código de Android (a continuación se muestra una solución de Windows):


Establecer NDK_HOME = C: \ Android \ android-ndk-r9c / personalizar esta var para su propia ubicación
Set LD_LIBRARY_PATH =% NDK_HOME% \ plataformas \ android-18 \ arch-arm \ usr \ lib cd

REM – TEMPORARIAMENTE COPIAR ALGUNO LIBS COMPILER PUEDE NECESITAR
Copiar% NDK_HOME% \ plataformas \ android-18 \ arch-arm \ usr \ lib \ crtbegin * .o.
Copiar% NDK_HOME% \ plataformas \ android-18 \ arco-brazo \ usr \ lib \ crtend * .o.

REM – GENERAR SU ARCHIVO OBJ
% NDK_HOME% \ toolschains \ arm-linux-androideabi-4.8 \ pre-construido \ windows-x86_64 \ bin \ arm-linux-androideabi-gcc.exe -g -I% NDK_HOME% \ plataformas \ android-18 \ arch-arm \ usr \ Include -c -fPIC YourLib.c -o YourLib.o

REM – GENERAR OBJ OBLIGADO DE OBJ ARCHIVO
% NDK_HOME% \ toolchains \ arm-linux-androideabi-4.8 \ pre-construido \ windows-x86_64 \ bin \ arm-linux-androideabi-gcc.exe -g -L% NDK_HOME% \ plataformas \ android-18 \ arch-arm \ usr \ Lib -shared -o YourLib_so.so YourLib_so.o

REM – finalmente, quite las bibliotecas previamente copiadas al directorio src

Del crtbegin
Delgado


Ahora deberías poder usar el archivo resultante .so en tu proyecto de Android.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.