Filament for Android 编译搭建(基于Ubuntu20.04系统)
一、Filament 源代码下载
github下载地址:

2、安装clang
我是直接安装clang-10
Ubuntu 20.04 ,sudo apt install clang 命令默认就是clang-10
|
|
3、安装ninja
|
|
4、安装Android Studio
google android developers官网下载最新的:https://developer.android.com/studio,
下载最新Android Studio的后(当前最新版本为:android-studio-2021.3.1.17-linux.tar.gz)
直接解压即可
我本地是:
|
|
运行直接到android-studio/bin目录,执行./studio.sh
注意:如果之前有安装过老的版本Android Studio,在导入filament/android时可能会提示版本或插件不兼容问题
我本地就遇到了这个问题
|
|
解决方案就是更新Android Studio版本和插件

5、Android Studio安装cmake和NDK
打开Android studio -> Tools -> SDK Manager
首先建议安装最新的SDK ,注意选择自己的安装路径,记录号安装路径,后面配置环境变量需要用到


到SDK目录看一下安装的版本:如我本地安装目录是/home/liuzhengliang/Android/Sdk/

6、配置环境变量
vim ~/.bashrc
添加, 路径换成自己的sdk目录
|
|
重启机器,或者在编译filament的终端执行source ~/.bashrc
三、Filament 在Ubuntu系统上编译
|
|


编译成功后会在out生成如下所示目录

进入到 out/cmake-release 目录下:
|
|

四、Android studio运行 filament samples
Android studio 直接open filament下的android目录
方法:打开Android studio -> File -> Open


需要debug的手机链接到PC电脑(记得开启adb debug)
- 选择需要运行的samples
- 链接到手机adb
- 点击Run编译并运行
如samples:sample-gltf-viewer的效果:

5、其他问题记录
1. 我本地编译报遇到过:'X11/extensions/xf86vmode.h' file not found
/home/liuzhengliang/22-code/filament/filament/third_party/libsdl2/src/video/x11/SDL_x11video.h:56:10: fatal error: 'X11/extensions/xf86vmode.h' file not found
#include <X11/extensions/xf86vmode.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
解决方法:
| sudo apt-get install libxxf86vm-dev |
2. ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
解决方法:
| 安装openjdk sudo apt-get install openjdk-11-jdk |
3. ccache: error: SLOPPINESS: unknown sloppiness: "locale"
ccache: error: SLOPPINESS: unknown sloppiness: "locale"
解决方法:
| 编译时遇到ccache报错: 解决方案:卸载本地的ccache 或者更新到最新ccache版本 |
4. fatal error: 'type_traits' file not found #include <type_traits>
报错:/home/liqinyan/data/source_code/3d_filament_code/google-filament/filament/libs/math/include/math/compiler.h:20:10: fatal error: 'type_traits' file not found #include <type_traits> ^~~~~~~~~~~~~ 1 error generated. ninja: build stopped: subcommand failed.
解决方法:
| 缺少c++相关库,重新执行下面的命令 |
相关文章:
Filament for Android 编译搭建(基于Ubuntu20.04系统)
一、Filament 源代码下载 github下载地址: 2、安装clang 我是直接安装clang-10 Ubuntu 20.04 ,sudo apt install clang 命令默认就是clang-10 $sudo apt-get install clang-10 # 安装 AST.h 等头文件 $sudo apt-get install libclang-10-dev $sudo …...
【MySQL--->数据库操作】
文章目录 [TOC](文章目录) 一、操作语句1.增2.删3.改4.查5.备份 二、字符集与校验规则 一、操作语句 1.增 语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存…...
PhotoShop2023 Beta AI版安装教程
从 Photoshop 开始,惊艳随之而来 从社交媒体贴子到修饰相片,设计横幅到精美网站,日常影像编辑到重新创造 – 无论什么创作,Photoshop 都可以让它变得更好。 Photoshop2023 Beta版本安装教程和软件下载 地址:点击…...
并发冲突导致流量放大的线上问题解决
事故现象 生产环境,转账相关请求失败量暴增。 直接原因 现网多个重试请求同时到达 svr,导致内存数据库大量返回时间戳冲突。业务方收到时间戳冲突,自动进行业务重试,服务内部也存在重试,导致流量放大。 转账 首先…...
Spring Cloud Gateway过滤器GlobalFilter详解
一、过滤器的场景 在springCloud架构中,网关是必不可少的组件,它用于服务路由的转发。对客户端进行屏蔽微服务的具体细节,客户端只需要和网关进行交互。所以网关顾名思义,就是网络的一个关卡。它就是一座城的城门守卫。所以这个守…...
【LeetCode】1281.整数的各位积和之差
题目 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 1: 输入:n 234 输出:15 解释: 各位数之积 2 * 3 * 4 24 各位数之和 2 3 4 9 结果 24 - 9 15示例 2&…...
22、springboot的Profile(通过yml配置文件配置 profile,快速切换项目的开发环境)
springboot的Profile ★ 何谓Profile 应用所在的运行环境发生切换时,配置文件常常就需要随之修改。Profile:——就是一组配置文件及组件的集合。可以整个应用在不同的profile之间切换(设置活动profile),整个应用都将使…...
2023-08-12力扣每日一题-暴力hard
链接: 23. 合并 K 个升序链表 题意: 如题 解: 时间668ms击败 5.00%使用 C 的用户/内存12.37mb击败 87.96%使用 C 的用户 循环选择插入新链表的节点,纯正的暴力,不过空间用得少 最坏应该是1E4*1E4,没…...
Mac安装nvm教程及使用
nvm 是 node 版本管理器,也就是说一个 nvm 可以管理多个 node 版本(包含 npm 与 npx),可以方便快捷的安装、切换 不同版本的 node。 1、直接通过brew安装 执行命令:brew install nvm PS: 如果没有安装br…...
左值引用和右值引用
目录 辨析引用和指针 代码段 定义引用变量的技巧 同一内存 指针和引用的简单运用 辨析两类指针 数组、指针、引用 辨析左值引用和右值引用 代码段 左值引用和右值引用 辨析引用和指针 1、引用是一种更安全的指针 说明:引用必须初始化,而指针可…...
JavaWeb 中对 HTTP 协议的学习
HTTP1 Web概述1.1 Web和JavaWeb的概念1.2 JavaWeb技术栈1.2.1 B/S架构1.2.2 静态资源1.2.3 动态资源1.2.4 数据库1.2.5 HTTP协议1.2.6 Web服务器 1.3 Web核心 2 HTTP2.1 简介2.2 请求数据格式2.2.1 格式介绍2.2.2 实例演示 2.3 响应数据格式2.3.1 格式介绍2.3.2 响应状态码2.3.…...
06-hadoop集群搭建(root用户)
搭建Hadoop集群流程 环境准备 1、基础环境的搭建(内网封火墙关闭、主机名、规划好静态ip、hosts映射、时间同步ntp、jdk、ssh免密等) 2、Hadoop源码编译(为了适应不同操作系统间适配本地库、本地环境等) 3、Hadoop配置文件的修…...
MySQL 窗口函数是什么,有这么好用
先看这段像天书一样的 SQL ,看着就头疼。 SELECTs1.name,s1.subject,s1.score,sub.avg_score AS average_score_per_subject,(SELECT COUNT(DISTINCT s2.score) 1 FROM scores s2 WHERE s2.score > s1.score) AS score_rank FROM scores s1 JOIN (SELECT subject, AVG(sco…...
用户数据报协议UDP
UDP的格式 载荷存放的是:应用层完整的UDP数据报 报头结构: 源端口号:发出的信息的来源端口目的端口号:信息要到达的目的端口UDP长度:2个字节(16位),即UDP总长度为:2^16bit 2^10bit * 2^6bit 1KB * 64 64KB.所以一个UDP的最大长度为64KBUDP校验和:网络的传输并非稳定传输,…...
STM32F429IGT6使用CubeMX配置外部中断按键
1、硬件电路 2、设置RCC,选择高速外部时钟HSE,时钟设置为180MHz 3、配置GPIO引脚 4、NVIC配置 PC13相同 5、生成工程配置 6、部分代码 中断回调函数 /* USER CODE BEGIN 0 */void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {if(GPIO_Pin GPIO_PIN_0){HAL_GPIO…...
时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)
时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测) 目录 时序预测 | Python实现LSTM长短期记忆网络时间序列预测(电力负荷预测)效果一览基本描述模型结构程序设计参考资料效果一览...
[开发|前端] 路由守卫笔记
描述 vue-router提供的导航跳转或取消的api。 router.beforeEach 切换路由前调用 router.beforeResolve 组件内路由守卫解析之后调用,和beforeEach用法类似 router.afterEach 切换后调用 全局路由守卫有上面3个,调用时机不同 路由守卫都有3个参数 …...
网络基础——网络的由来与发展史
作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、网络的由来 二、计算机网络的发展史 1、第一阶段 2、第二阶段 3、第三阶段 前言 每天都是使用网络,那么你知道网络…...
八数码(bfs)
思路: (1)用string来存储状态,用d<string,int>来记录状态变换次数; (2)在bfs过程中,先初始化(q,d);每次拿出队头状态,得到x的相对位置&am…...
CCLINK IE FIELD BASIC转MODBUS-TCP网关cclink与以太网的区别
协议的不同,数据读取困难,这是很多生产管理系统的难题。但是现在,捷米JM-CCLKIE-TCP通讯网关,让这个问题变得非常简单。这款通讯网关可以将各种MODBUS-TCP设备接入到CCLINK IE FIELD BASIC网络中,连接到MODBUS-TCP总线…...
Adobe-GenP 3.0完整指南:专业级Adobe全家桶激活解决方案
Adobe-GenP 3.0完整指南:专业级Adobe全家桶激活解决方案 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe-GenP 3.0是一款针对Adobe Creative Cloud…...
Java后端开发实战:手把手教你用e签宝API搞定电子合同签署(含回调处理与Token优化)
Java后端开发实战:e签宝API深度集成与电子合同签署优化指南 在数字化转型浪潮中,电子合同已成为企业服务升级的标配功能。作为Java开发者,如何高效集成第三方电子签章平台,同时确保系统稳定性和业务连贯性,是提升SaaS…...
如何彻底清理Windows软件残留?Bulk Crap Uninstaller完整指南教你快速搞定!
如何彻底清理Windows软件残留?Bulk Crap Uninstaller完整指南教你快速搞定! 【免费下载链接】Bulk-Crap-Uninstaller Remove large amounts of unwanted applications quickly. 项目地址: https://gitcode.com/gh_mirrors/bu/Bulk-Crap-Uninstaller …...
AI视觉边缘设备部署优化:Jetson Orin 上 YOLOv8 + 相机 pipeline 全链路加速
AI视觉边缘设备部署优化:Jetson Orin 上 YOLOv8 + 相机 pipeline 全链路加速 “模型在PC上跑得飞快,一上Orin就卡成PPT?” “TensorRT引擎建好了,但端到端延迟还是高得离谱?” 在工业AI视觉落地中,全链路性能才是王道。 从相机采集 → 图像预处理 → 模型推理 → 后处理输…...
手把手教你用cv_unet_image-matting:零基础3秒完成人像抠图
手把手教你用cv_unet_image-matting:零基础3秒完成人像抠图 1. 工具介绍与核心价值 你是否遇到过这样的烦恼:需要快速抠出人像照片,但Photoshop操作太复杂?或者批量处理证件照时,手动抠图效率太低?今天我…...
Nanbeige 4.1-3B WebUI应用实践:AI学习伙伴/日语练习助手/轻量内容创作工具
Nanbeige 4.1-3B WebUI应用实践:AI学习伙伴/日语练习助手/轻量内容创作工具 1. 引言:一个不一样的AI对话界面 如果你用过一些AI对话工具,可能会觉得界面都差不多:左边是聊天记录,右边是输入框,头像方方正…...
大模型推理流式响应卡顿诊断指南(2024实时通信性能黄金阈值清单)
第一章:大模型推理流式响应卡顿诊断指南(2024实时通信性能黄金阈值清单) 2026奇点智能技术大会(https://ml-summit.org) 流式响应卡顿是大模型服务上线后最易被终端用户感知的体验断层,其根源往往横跨网络传输、推理引擎调度、GP…...
Qwen3.5-9B开发者案例:基于Gradio构建内部知识问答平台
Qwen3.5-9B开发者案例:基于Gradio构建内部知识问答平台 1. 项目概述 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型,具备强大的逻辑推理、代码生成和多轮对话能力。本案例将展示如何基于Gradio框架,快速搭建一个企业内部知识问答平台。 这…...
Phi-3-mini-4k-instruct-gguf生产环境部署:supervisor服务管理与稳定性优化
Phi-3-mini-4k-instruct-gguf生产环境部署:supervisor服务管理与稳定性优化 1. 项目背景与模型介绍 Phi-3-mini-4k-instruct-gguf是微软推出的轻量级文本生成模型,属于Phi-3系列中的高效版本。这个GGUF格式的模型特别适合生产环境部署,主要…...
从高危漏洞到类缺失:Apache POI依赖升级的实战避坑指南
1. 当安全告警遇上类缺失:Apache POI升级的典型困境 昨天深夜收到安全团队的紧急邮件,项目中的Apache POI组件被检测出高危漏洞。作为项目负责人,我立刻按照漏洞公告建议升级到5.0.0版本,没想到等待我的不是安全警报解除…...
