前几篇我们分别用ndk-build命令行、ndk配置和cmake的方式实现了对ndk的编译,本篇我们将采用工具链的形式进行编译。
工具链如何生成
http://write.blog.youkuaiyun.com/postedit/55510469
工具链编译的使用场景一般是将已有成熟的(开源的)C/C++项目移植到Android平台。编写sh脚本文件配合原有项目中的makefile文件,将项目编译成so库,例如将ffmpeg开源项目编译成so库,供Android使用,github上有很多移植ffmpeg需要的sh脚本和makefile文件。
理论上ndk本身就是Android studio定义的工具链,开发者通过定义mk文件来配置这个工具链。
开源openssl编译脚本 https://github.com/ad34/openssl-android-build-scripts
开源openssl项目地址 https://www.openssl.org/source/old/1.0.2/
将sh脚本复制到openssl主目录下
./build_arm7.sh执行脚本就可以编译出arm的so了,使用前先将ANDROID_TOOLCHAIN的目录指向你自己的目录。
工具链如何生成
http://write.blog.youkuaiyun.com/postedit/55510469
工具链编译的使用场景一般是将已有成熟的(开源的)C/C++项目移植到Android平台。编写sh脚本文件配合原有项目中的makefile文件,将项目编译成so库,例如将ffmpeg开源项目编译成so库,供Android使用,github上有很多移植ffmpeg需要的sh脚本和makefile文件。
理论上ndk本身就是Android studio定义的工具链,开发者通过定义mk文件来配置这个工具链。
开源openssl编译脚本 https://github.com/ad34/openssl-android-build-scripts
开源openssl项目地址 https://www.openssl.org/source/old/1.0.2/
将sh脚本复制到openssl主目录下
./build_arm7.sh执行脚本就可以编译出arm的so了,使用前先将ANDROID_TOOLCHAIN的目录指向你自己的目录。
本文介绍了如何使用工具链方式将成熟C/C++项目移植到Android平台,通过编写sh脚本配合makefile文件实现编译成so库的过程,并以openssl为例进行详细说明。
1万+

被折叠的 条评论
为什么被折叠?



