使用ndk編譯生成so動態庫


使用NDK編譯.so庫的好處在於,不需要寫復雜的makefile,不需要配復雜的平台相關參數(我之前的錯誤可能是出在makefile中的一些平台相關參數沒配好),因為google已經幫我們做好了。

我在這里給大家分享一下使用NDK編譯將靜態庫.a和.c/.cpp編譯成x86/.so動態庫的方法:

編譯環境:SshClient+編譯服務器,使用mount命令將本地項目mount到編譯服務器。

 

  1. 在eclipse工程目錄下建立一個jni的文件夾。
  2. 在jni文件夾中建立Android.mk和Application.mk文件。

Android.mk文件:

Android提供的一種makefile文件,用來指定諸如編譯生成so庫名、引用的頭文件目錄、需要編譯的.c/.cpp文件和.a靜態庫文件等。詳見附件中的Android.mk。

 

Application.mk文件:

定義了項目的一些細節,比如APP_ABI := x86(編譯X86平台庫)、APP_PLATFORM := android-9(使用android-9以上的平台庫)。

  1. 用cd命令移至jni目錄,運行/mnt/500G/public/NDK/android-ndk-r7b/ndk-build命令,這時命令行中可能會出現編譯錯誤,比如頭文件找不到,函數找不到等等,細心找找就能改掉。
  2. 編譯成功后,在工程目錄下libs/x86中就會生成你想要的.so庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM