HuaweiAREngine NDK Sample 编译过程

公司电脑有防火墙,gradle同步时候,各种报错;最后虽然解决了,还是记录一下 在家里自己电脑上编译的过程(踩过的坑)。

步骤1:准备工程与IDE

下载Huawei AREngine NDK demo工程,使用Android Studio 4.0以上版本打开工程;我使用的是当前最新版本4.2.1。低于4.0会报错,如下图AS版本低于4.0

步骤2:NDK与SDK

没有下载NDK的同学,这里就要通过sdk manager下载指定版本的ndk(21.0.613669),配套3.10.2版本cmake。 此外,编译时会要求 使用 29.0.2 的 Build Tool。

联网下载似乎需要设置代理,我用的小飞机ssr,Host 那里填 127.0.0.1, Port 填写1080(一般都是这两个),配完以后check一下connection,能连接到google就行。
ssr端口

步骤3:NDK Path设定(可选)

可能由于新旧版本共存,新版本AS打开时,AS报错提示要修改jdk路径,建议指定为系统中公用的jdk,避免切换版本时,重启daemon(adb server)报错。
更改时,发现ndk location那一行锁定了“D:\android-sdk-windows\ndk-bundle\”无法修改,连带着修改jdk location也无法确定,报错“NDK does not contain any platforms”, 参考Stack overflow解决:
删除掉local.properties文件中ndk.dir那一行,就可以继续修改jdk了。

In my case I wasn’t able to change JDK location until I removed ndk.dir from local.properties. As soon as I removed it, I could change JDK location again.

【题外话:】根据页面里的回答,这似乎是Android Studio的一个遗留问题。
进入Project Structure -> SDK Location界面,点击download ndk时,自动下载的最新版本NDK会保存在sdk目录下的ndk-bundle子目录,下载好后却检测不到。在SDK Manager中下载的NDK(side-by-side)却在sdk->ndk目录中,按照版本号分别保存,不指定ndk路径就能使用。

步骤4:补充依赖库

前面ndk与sdk配置正确的话,gradle同步基本可以通过了,可以尝试"make module"开始编译apk。无意外的话,会遇到缺少glm库相关的报错,如下图:
缺少glm报错

参看工程中CMakeLists.txt,target_include_directories中已有指定glm的加载路径,自己下载glm库补充到指定路径中(${ANDROID_NDK}/sources/third_party/vulkan/src/libs/glm)即可。

至此,编译告成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NDK交叉编译Boost是将Boost库编译成适用于Android平台的库文件,以便在Android应用中使用Boost库的功能。下面是一般的NDK交叉编译Boost的步骤: 1. 下载NDK:首先,你需要下载并安装Android NDK,可以从官方网站(https://developer.android.com/ndk/downloads)上获取最新版本的NDK。 2. 下载Boost库:接下来,你需要下载Boost库的源代码。你可以从Boost官方网站(https://www.boost.org/users/download/)上下载最新版本的Boost库。 3. 配置Boost库:解压下载的Boost源代码,并进入解压后的目录。在终端中执行以下命令来配置Boost库: ``` ./bootstrap.sh --with-libraries=<library_names> --with-toolset=<toolset_name> --prefix=<install_path> ``` 其中,`<library_names>`是你需要编译的Boost库的名称,可以根据你的需求进行选择;`<toolset_name>`是你要使用的编译工具链,例如`clang`或`gcc`;`<install_path>`是你希望安装Boost库的路径。 4. 编辑user-config.jam文件:在Boost源代码目录下,创建一个名为`user-config.jam`的文件,并添加以下内容: ``` using clang : <ndk_version> : <path_to_ndk>/toolchains/llvm/prebuilt/<host_os>/bin/clang++ ; ``` 其中,`<ndk_version>`是你下载的NDK的版本号,`<path_to_ndk>`是你安装NDK的路径,`<host_os>`是你的操作系统类型(例如`darwin-x86_64`或`linux-x86_64`)。 5. 开始编译Boost库:在终端中执行以下命令来开始编译Boost库: ``` ./b2 toolset=clang-<ndk_version> target-os=android link=static threading=multi variant=release install ``` 这将使用指定的编译工具链和选项来编译Boost库,并将编译结果安装到之前配置的安装路径中。 6. 完成编译:等待编译过程完成,然后你将在之前配置的安装路径中找到编译好的Boost库文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值