- 前提内容:下载osg源码及依赖,解压到合适目录
- osg源码(当前最新3.6.5)
- osg-data(当前最新3.4.0)
- 3rdpartyAndroid(中文官网链接失效了) 网友提供的百度云盘链接
- 把3rdpartyAndroid里面的3rdparty文件夹拷贝到osg源码根目录下
文章目录
使用Android NDK直接编译,不需要安装cygwin和MinGW
1. 下载安装Cmake
2. 下载Android-NDK-r10c-Windows-x86_64
源码提供的toolchain.cmake很老了一直没有更新,根据作者的注释,ndk只能支持r5-r10c
android-ndk-r10c-windows-x86_64
3. 使用cmake-gui配置生成Makefile(for Android)并编译、安装
a) 配置输入输出路径,点击Configure,配置生成类型为Unix Makefiles,并指定toolchain
b) 选择osg源码下的android.toochain.cmake,参考图示路径
c) 新增并指定编译参数,值和内容参考图示(这里指定的是GLES2,编译静态库)
d) 点击Generate按钮,生成makefile和编译代码,cmd界面进入到输出路径,用cmake --build ./
命令触发编译,支持多线程加速编译
cmake --build ./ -j8 (cmake>=3.12)
或 cmake --build ./ -- -j8 (cmake<3.12)
,执行动作等于make -j8
(需要先将ndk的make路径配到环境变量):
e) 编译大概需要1-2小时,会在输出目录lib文件夹输出生成的.a静态库:
f) 使用cmake --install ./
安装,安装的会将生成和依赖的库和头文件拷贝到${CMAKE_INSTALL_PREFIX}
目录下,执行动作等于make install
:
安装完成的目录结构:
- K:\osg\OSGBuildoutAndroid\install
- K:\osg\OSGBuildoutAndroid\install\include
K:\osg\OSGBuildoutAndroid\install\lib
K:\osg\OSGBuildoutAndroid\install\obj\local\armeabi-v7a
g) 使用linux下的readelf工具解析.a静态库,确认是arm32格式:
之后就可以在AndroidStudio中做二次开发了,后面遇到新的问题再回来补充~