深入浅出filament Android编译脚本

依赖环境
安装Android Studio 4.0+
OpenJDK 1.8 (单独安装,或者复用Android Studio内置,/Applications/Android Studio 4.0 Preview.app/Contents/jre/jdk/Contents/Home)
Clang
CMake 3.10.2 (复用Android Studio内置,/Users/your_name/Library/Android/sdk/cmake/3.10.2.4988404/bin/cmake) 
Ninja 1.8.2(复用Android Studio内置,/Users/your_name/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja) 
NDK(复用Android Studio内置,/Users/your_name/Library/Android/sdk/ndk/21.0.6113669/ndk-build)
 
配置~/.bash_profile,并执行 source ~/.bash_profile
export JAVA_HOME=/Applications/Android\ Studio\ 4.0\ Preview.app/Contents/jre/jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export PATH=$JAVA_HOME/jre/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH
 
export ANDROID_HOME=/Users/liuzhixu/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/build-tools/28.0.3:$PATH
 
export NDK=$ANDROID_HOME/ndk/21.0.6113669
export PATH=$NDK:$PATH
 
export CMAKE_HOME=${ANDROID_HOME}/cmake/3.10.2.4988404/bin
export PATH=$CMAKE_HOME:$PATH
 
编译前注意事项
 
通用依赖简单粗暴编译:把桌面debug和release版本全编译,会产生通用工具
./build.sh -i -p desktop debug
编译产出out/cmake-debug/,install产出out/debug/filament/
重要:out/cmake-debug/samples/ 桌面级3D案例,可以直接运营看效果
 
./build.sh -i -p desktop release ( 按照下面修改配置,可以不用编译
android/build.gradle 把 android-release改成 android-debug  def filamentPath = file( "../out/android-debug/filament" ).absolutePath
android/buildSrc/src/main/groovy/FilamentPlugin.groovy,把 release改成 debug  project.file( "../../../out/debug/filament" )
 
安卓编译命令及背后流程 ./build.sh -i -p android debug
 
@filament-1.5.2/build.sh
 
 
 

@filament-1.5.2/android/filamat-android/build.gradle
@filament-1.5.2/android/filament-android/build.gradle
@filament-1.5.2/android/filament-utils-android/build.gradle   
@filament-1.5.2/android/gltfio-android/build.gradle  

 
特定函数及编译产出文件
build_desktop "${MOBILE_HOST_TOOLS}"      编译产生make-debug/ 主要是桌面级辅助工具,如matc材质编译器,cmgen等;如果执行过./build.sh -i -p desktop debug,此处编译多余,实际上不会再编译
build_android_arch "aarch64" "aarch64-linux-android "      编译产生两个目录:
    cmake-android-debug-aarch64目录,编译结果存在对应子目录,跟源码层级目录对等,容易理解;
    android-debug/filament/目录,编译后自动安装的include头文件和lib/*.a库文件
./gradlew   编译安卓通用AAR工程
 
一切成功,可以用Android Studio打开工程
Android Studio -> Open an existing Android Studio project -> filament-1.5.2->android/
渲染感兴趣的demo,如simple-lit-cube,运行看看效果吧~
 
TODO
后续会介绍如何自定义c++代码,打开log开关,暴露更多libs/ third_party/接口,如何引入新的C++库,如何抛弃android/目录代码,全新定义JNI框架等

猜你喜欢

转载自blog.csdn.net/xuer_07/article/details/105407965
今日推荐