網上大多教程和資源並沒有從頭到尾告訴怎麼編譯過程,這邊文章教你一個對ndk編譯懂的不多,又需要使用三方庫,怎麼辦,硬著頭皮搞,又無從下手,網上一堆資料,有價值的不多,到處是偏分的。本篇提供真實能運行,帶的資源經過測試的。過程如下:
編譯ICONV
1.1 解壓縮
1、解壓縮: tar -xvf ./libiconv-1.14.tar.gz -C libiconv-1.14
2、配置:./configure --host=arm-linux-gnueabihf CC=/home/work/rk3288_8.1/prebuilts/gcc/linux-x86/arm/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --enable-shared --enable-static --prefix=/media/sf_ubuntuShare/test/libiconv-1.14/libiconv
1)--host指的是編譯庫目錄類型,也就是在什麼系統上跑
2)CC= 指定編譯器路徑和編譯器
3)--enable-shared --enable-static 同時靜態庫和動態庫一起編譯
2、在android studio中編譯
1)新建NDK工程
2)新建iconv目錄
3)拷貝文件相關iconv
從linux目錄下把iconv目錄下文件全部拷貝到新建iconv目錄下
4)CPP目錄下CMakeLists.txt增加條目
5)新建CMakeLists.txt
6)並修改配置,保存
7)增加C++支持庫
8)編譯庫存放路徑
3、項目引入使用apk中
2、so打進apk中
sourceSets { main { aidl.srcDirs = ['src/main/aidl', 'src/main/aidl/', 'src/main/res/' ] jniLibs.srcDirs = ['libs'] } }
3、特別說明
沒有linux環境或者對linux交叉編譯環境不熟悉,可以拿工程中源碼進行編4
4、效果圖
[f2h0b53ohn ] 使用android studio開發工具編譯GBK轉換三方庫iconv的方法已經有500次圍觀