macOS Mojave (10.14.3) Android Studio 3.3.1 NDK 19.1.5304403 导入并构建Vuh项目

以前在 Android Studio 3.2.1上vuh库使用的例子 中实现了一个使用 vuh 库的例子。 那个例子中的 vuh 库是我们编译好 libvuh.so 之后直接引用的,我们下面实现通过直接编译代码实现整合。

尝试过使用 ExternalProject_addinclude 的方式包含 vuh 库,但是都不是很成功。

其中 ExternalProject_add 导入的项目只能编译一次,即使指定 BUILD_ALWAYS 1 也没用,这个应该是 Ninja 导致的问题,导致当出现多个 ABI 或者 vuh 库代码变动之后,不能重新编译,出现各种编译错误。

使用 include 包含的项目会导致路径信息不正确,无法找到源代码文件。

最后使用 add_subdirectory实现。

修改之后的几个关键文件如下:

注意: VUH_ROOT_DIR 这个变量中指定 vuh 库代码的位置

注意:由于 vuh 库需要 CMake 3.8 。因此,我们需要手工指定CMake版本为3.10.2 。

如下:

如果出现如下错误:

则执行如下操作:

如果出现如下错误:

则删除代码中的 jniLibs/armeabi-v7a/libvuh.so 即可解决问题。

完整的例子点击此处下载 vuhAndroid

参考链接


macOS Mojave (10.14.3) Android Studio 3.3.1 指定使用CMake 3.10.2版本

目前最新版本的 Android Studio 3.3.1默认使用CMake 3.6版本,但是已经支持 CMake 3.10.2 版本了。

新版本的 CMake 3.10.2 新增了 FindVulkan.cmake 等一系列的改进,对于很多项目来说,会更友好。

目前默认依旧使用 CMake 3.6 版本,但是可以手工指定使用 CMake 3.10.2

继续阅读macOS Mojave (10.14.3) Android Studio 3.3.1 指定使用CMake 3.10.2版本

错误 程序包org.apache.http.conn.util不存在

开发的时候遇到了这个问题,记录下下次就知道了。这个是因为在 sdk22 以后的版本不在支持了!!!

程序包 org.apache.http.conn.util 不存在,然后搜索了下,在 appbuild.gradle 文件中加上useLibrary 'org.apache.http.legacy' 就可以了。

如下:

参考链接


错误 程序包org.apache.http.conn.util不存在