Windows10环境下Android(安卓)studio NDK编译assimp
16lz
2021-01-26
1.下载Assimp源码https://github.com/assimp/assimp
2.安装Python2.7并配置环境变量
3.确保电脑有Android SDK和NDK
4.编写编译脚本,保存在assimp源码同级目录下(注,需要根据实际安装路径修改)
4.1 make_standalong_toolchain_arm64.bat
python D:/Android/android-ndk-r13b/build/tools/make_standalone_toolchain.py --arch=arm64 --stl=libc++ --api=21 --install-dir=android-toolchain-21-llvm-arm64v8a
4.2 build_assimp_arm64.bat
@echo offclsREM *NOTE* Change these based on SET ASSIMP_DIR=assimpSET OUTPUT_DIR=assimp-build-arm64v8aSET ANDROID_PATH=D:\Android\SdkSET NDK_PATH=D:\Android\android-ndk-r13bSET NDK_TOOLCHAIN=%~dp0android-toolchain-24-llvm-arm64v8aSET CMAKE_TOOLCHAIN=%NDK_PATH%\build\cmake\android.toolchain.cmakeSET CMAKE_PATH=%ANDROID_PATH%\cmake\3.6.4111459REM *NOTE* Careful if you don't want rm -rf, I use it for testing purposes.del %OUTPUT_DIR%mkdir %OUTPUT_DIR%REM pushd doesn't seem to work ):
以上为arm64架构平台的.a库,如果需要编译.so则需要将脚本中的-DBUILD_SHARED_LIBS=OFF 删除即可,编译相关库时需要主要架构和 -DANDROID_STL=gnustl_static,避免所生成的库跟Android studio Android.mk配置的STL一直
5.上面是以arm64-v8a架构为例,对于其他六种架构(armeabi,armeabi-v7a,mips,mips64,x86,x86_64),需要修改–arch参数,该参数选值见下表:
工具链 | 值 |
mips64 编译器 | –arch=mips64 |
mips GCC 4.8 编译器 | –arch=mips |
x86 GCC 4.8 编译器 | –arch=x86 |
x86_64 GCC 4.8 编译器 | –arch=x86_64 |
arm GCC 4.8 编译器 | –arch=arm |
6.分别运行make_standalong_toolchain_arm64.bat和build_assimp_arm64.bat
7.直接将.a文件和头文件移植到安卓工程中,编写Android.mk
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_CFLAGS += -std=c++11LOCAL_MODULE := assimp_staticLOCAL_MODULE_FILENAME := assimpLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libassimp.aLOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../includeinclude $(PREBUILT_STATIC_LIBRARY)
更多相关文章
- TensorFlow in Android
- android-----JNI学习 helloworld
- Android(安卓)building system
- Android(安卓)反编译代码和资源
- Android(安卓)studio如何更改gradle版本
- Android(安卓)升级Android(安卓)X 所需要替换的包(一)
- Android源码下载以及编译自己的ROM
- android 编译SDK
- Android学习笔记之cyanogenmod编译篇