ndk 編譯 so檔案

2022-03-27 23:33:11 字數 1197 閱讀 3876

使用ndk-build編譯,如果windows需要cygwin環境,(cygwin+android ndk)

linux就好辦了

直接在專案路徑使用 ngk-build指令碼就能編譯了

引用:一、準備工作

cygwin  

android-ndk 

二、安裝cygwin可以搜尋一下比較簡單。(安裝時注意選擇包時選擇devel)

三、配置ndk的編譯環境,我這兒使用的eclipse編譯。

1.編輯cygwin目錄下的 home\user(你的使用者名稱)\.bash_profile

(note:如果沒有bash_profile檔案,在etc/profile檔案中寫入,但注意最好用ue開啟)

在最後新增上

android_ndk_root=/cygdrive/e/android-ndk-r5 (你ndk的路徑  cygwin訪問其它驅動器/cygdrive/cdefg...)

export android_ndk_root

2.在eclipse中新建android工程,選擇本地路徑 ndk下的sample android-ndk-r5\samples\hello-jni

然後選擇版本完成新建工程。

3。在工程上面右鍵->properties->builders->new->program

working directory 可以不填

arguments: --login -c "cd /cygdrive/工程的jni目錄含有android.mk&& $android_ndk_root/ndk-build"   ($android_ndk_root 為第一步設定的環境變數)

4.環境搭建完畢,重新整理工程或者clean工程控制台會列印:

gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver

gdbsetup       : libs/armeabi/gdb.setup

install        : libhello-jni.so => libs/armeabi/libhello-jni.so

編譯成功。

然後執行虛擬機器就能看到結果。

修改jni\hello-jni.c檔案中的 return (*env)->newstringutf(env, "hello from jni datuo2!"); 儲存自動編譯,再執行看輸出字串發生變化。

Linux下NDK編譯so庫

2 隨便在哪個目錄直接解壓 3 配置系統環境變數 vim etc profile 在檔案末尾新增如下內容 export android ndk ndk路徑 export path and roid ndk android ndk androi dn d k 1 建立jni目錄 mkdir jni 2...

NDK引用NDK生成的so

1 編譯so庫 假如我們的 需要加密而不被別人知道,這裡可以通過ndk編譯生成so 準備好加密 檔案 encrypt.h encrypt.c 放進jni目錄 編寫mk檔案,放進jni目錄 local path call my dir include clear vars local module e...

只使用NDK將C C 編譯成SO

在自帶的ndk裡面有個ndk helper目錄,除了android.mk檔案,還有一些示例。我這裡只取三個檔案作修改後即可用。在ndk bundle下新建乙個名為jni的目錄,將上面的這些檔案都複製乙份到裡面。這是因為從ndk r4開始,只需將檔案放在jni下即可執行。為了能編譯通過,先將複製過來的...