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)

 

更多相关文章

  1. TensorFlow in Android
  2. android-----JNI学习 helloworld
  3. Android(安卓)building system
  4. Android(安卓)反编译代码和资源
  5. Android(安卓)studio如何更改gradle版本
  6. Android(安卓)升级Android(安卓)X 所需要替换的包(一)
  7. Android源码下载以及编译自己的ROM
  8. android 编译SDK
  9. Android学习笔记之cyanogenmod编译篇

随机推荐

  1. Android应用程序模型
  2. Android小项目————聊天室(网络编程篇)
  3. android 手把手教你打造万能的ListView G
  4. Handler入门及操作
  5. Android开发全程记录(十四)——Android显示
  6. 用vector drawable加快应用图片加载速度
  7. Android服务器时间校准
  8. 使用Android(安卓)Studio检测内存泄露
  9. Camera 总结
  10. Android调用WebService系列之对象构建传