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.