AS編譯c c 生成so檔案

2021-08-13 20:06:30 字數 1204 閱讀 8611

本文講如何用androidstudio生成so檔案

1.新建乙個android專案

2.新建乙個類,並新增native方法

3.生成class檔案4.開啟as的命令終端,輸入命令生成.h檔案

/* do not edit this file - it is machine generated */

#include

/* header for class com_zht_jnitest_jni */

#ifndef _included_com_zht_jnitest_jni

#define _included_com_zht_jnitest_jni

#ifdef __cplusplus

extern "c"

#ifdef __cplusplus

}#endif

#endif

4.配置ndk開啟project的local.properties檔案新增ndk路徑:

ndk
在同步過程中我們可能會遇到這樣的錯誤提示 :

此時按照提示上的描述,開啟project的gradle.properties檔案,新增:

android.usedeprecatedndk=true
執行一次build->make project,如果使用的api25 可能會報錯,改一下版本就好

改完版本重新同步。

5.生成so檔案

執行build->rebuild project就可以編譯出so檔案了

c編譯生成so 庫

首先 gcc c fpic libst.c 生成 libst.o 然後gcc shared fpic o libst.so libst.o 生成 libst.so 動態鏈結庫 注意 fpic選項。pic指position independent code。共享庫要求有此選項,以便實現動態連線 dyn...

ndk 編譯 so檔案

使用ndk build編譯,如果windows需要cygwin環境,cygwin android ndk linux就好辦了 直接在專案路徑使用 ngk build指令碼就能編譯了 引用 一 準備工作 cygwin android ndk 二 安裝cygwin可以搜尋一下比較簡單。安裝時注意選擇包時...

GCC編譯生成動態鏈結庫 so檔案

動態庫 so在linux下用c和c 程式設計時經常會碰到,最近在 找了幾篇文章介紹動態庫的編譯和鏈結,總算搞懂了這個之前一直不太了解得東東,這裡做個筆記,也為其它正為動態庫鏈結庫而苦惱的兄弟們提供一點幫助。1 動態庫的編譯 下面通過乙個例子來介紹如何生成乙個動態庫。這裡有乙個標頭檔案 so test...