网上大多教程和资源并没有从头到尾告诉怎么编译过程,这边文章教你一个对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、效果图