如何在Linux中編譯NDK應用?
1、NDK編譯步驟:a.選擇 ndk 自帶的例子 hello-jni ,我的位于E:\android-ndk-r5\samples\hello-jni( 根據具體的安裝位置而定 ) 。
2、一,1,可以試試直接用bash運行文件。試試命令 bash android-ndk-r10c-linux-x86_64(1).bin 2, 如果還不行,建議更改一下文件的名字,可能是帶了特殊的符號,如括號。
3、我們在Windows/Linux平臺使用Android NDK交叉編譯工具來編譯出Android平臺的庫也是這個道理。
Linux下NDK編譯出的SO庫能在WIndows下的android工程直接使用么?_百度...
可以,so庫其實就是動態鏈接庫。放到安卓系統中,每個應用都可以訪問 將編譯好的libmonoso放到系統的/system/lib目錄下。
可以調用,但是不能直接調用,要通過代碼目的JNI去調用,在JNI中導入頭文件,通過NDK編譯成功后即可。
so文件不可以直接運行的,so文件是動態函數庫文件,函數庫文件(包括.a文件和.so文件)只能用來被調用運行,不能直接運行的,so文件就相當于Windows下的dll文件,dll文件就是不能直接運行的。
如何使用arm-linux-androideabi-addr2line
將gcc/bin下的文件改一下名,arm-linux-androideabi-g++改為g++,arm-linux-androideabi-gcc則改為gcc。完成后重啟IDE即可使用GCC。
arm-linux-gcc -rdynamic -lpthread -g main.c -o main-test 如果是靜態編譯程序,只需要backtrace信息和addr2line工具即獲取出錯點。
export TARGET=arm-linux export PREFIX=$PRJROOT/tools export TARGET_PREFIX=$PREFIX/$TARGET export PATH=$PREFIX/bin:$PATH 如果你不慣用環境變量的,你可以直接用絕對或相對路徑。
進入Linux的終端,將當前目錄設為arm-linux-gcc的下載目錄,輸入tar -xzf arm-linux-gcc-tar.gz,將文件解壓,解壓后會有一個opt的文件夾。
/opt/FriendlyARM/toolschain/3 /usr/local/arm arm-linux-gcc交叉編譯環境的安裝 5 到這里已經基本安裝好了,到為了避免每次使用arm-linux-gcc時都要輸入它所在的完整路徑,所以這里我們要修改一下環境變量$PATH。