Use dll files in android Application

后端 未结 4 980
一生所求
一生所求 2020-11-29 12:22

Can I use dll files (commonly used in windows Application) in Android application?

4条回答
  •  盖世英雄少女心
    2020-11-29 12:58

    If you have the src files for the DLL, try recompiling as an ELF32 shared object, then link that instead into your Android code (- below is a Windows solution):


    set NDK_HOME=C:\Android\android-ndk-r9c   // customize this var for your own location   
    set LD_LIBRARY_PATH=%NDK_HOME%\platforms\android-18\arch-arm\usr\lib
    cd 
    
    REM -- TEMPORARILY COPY SOME LIBS COMPILER MAY NEED  
    copy %NDK_HOME%\platforms\android-18\arch-arm\usr\lib\crtbegin*.o .   
    copy %NDK_HOME%\platforms\android-18\arch-arm\usr\lib\crtend*.o .
    
    REM -- GENERATE YOUR OBJ FILE  
    %NDK_HOME%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -g -I%NDK_HOME%\platforms\android-18\arch-arm\usr\include -c -fPIC YourLib.c -o YourLib.o
    
    REM -- GENERATE SHARED OBJ FROM OBJ FILE  
    %NDK_HOME%\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe -g -L%NDK_HOME%\platforms\android-18\arch-arm\usr\lib -shared -o YourLib_so.so YourLib_so.o
    
    REM -- finally, remove the libraries previously copied to src directory
    
    del .\crtbegin*.o     
    del .\crtend*.o
    

    You should now be able to use the resulting .so file in your Android project.

提交回复
热议问题