编译与运行FastCV™示例应用


创建Android APK、编译共享对象

现在,我们将使用Eclipse IDE环境编译与构建Android应用APK。示例应用包含了几个Java类,可以创建并提供GUI功能,读取相机取景范围,允许用户互动,为用户提供性能数据。

构建FastCV示例应用

创建新项目,在向导部分选择 Android->Android Project 。

选择"Create project from existing source",进入\fastcv-android-xx-yy-zz\目录。

单击「完成」。

Eclipse "Android新项目" 面板

修改项目名称,单击[完成]。

要编译原生代码部分,我们需要在项目中添加C/C++属性。

单击 File > New > Other > C/C++ > Convert to a C++ Project 菜单选项,为项目添加C/C++属性。
注: 与菜单选项显示的意思不同,这么做不会以C/C++应用属性替代Android应用属性,也不会在Android所在目录或并列生成新的项目。这样做仅仅是为项目添加C/C++属性,不会影响Android属性。

调用向导程序为项目添加C/C++属性时,会要求您配置项目类型及所使用的工具链。在向导中选择"Makefile project"确定项目类型,选择"Other Toolchain"可以确定工具链,借助"GNU Make"配置项目可以编译项目中的C/C++代码部分。

您将在此整合两个构建系统(使用ADT的Java部分,与使用NDK的C/C++部分)。

创建的Makefile将从NDK调用ndk-build脚本,为应用处理本机共享对象的构建,ADT在构建应用程序包时会自动包括该共享对象。

标准安装好的Eclipse会启用了自动编译。首次编译应用时,Eclipse可能会给出一些错误消息。Project->Clean...->Clean All Projects 可清除这些错误,因为Eclipse需创建一些标准目录。同时也创建部署用的APK包。

复制lib/libfastcv.a至ndk lib目录(例如:/arch-arm/usr/lib)。

在包含fastcv目录的NDK工程下创建一个新目录。将安装目录下的inc目录的内容复制到您刚刚在ndk include目录下创建的新目录(例如:/arch-arm/usr/include/fastcv)。

现在,当您点击"Build All"时,控制台日志应该会出现类似以下的信息:
**** Build of configuration Default for project FastCVSample ****

make all

Host OS was auto-detected: windows
make[1]: Entering directory `/cygdrive/c/Development/fastcv-android-xx-yy-zz'
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Compile++ thumb : fastcvsample <= fastcvsample.cpp
Compile++ thumb : fastcvsample <= FPSCounter.cpp
Compile++ thumb : fastcvsample <= CameraRendererRGB565GL2.cpp
Compile++ thumb : fastcvsample <= CameraUtil.cpp
StaticLibrary : libstdc++.a
SharedLibrary : libfastcvsample.so
Install : libfastcvsample.so => libs/armeabi/libfastcvsample.so
make[1]: Leaving directory `/cygdrive/c/Development/fastcv-android-xx-yy-zz'
The apk should be inside the \bin\ directory. The app has been successfully built.

apk文件应该位于 \ bin\目录。至此就成功构建了应用。

运行示例应用

运行以下命令在设备上安装此应用:Adb install .apk

这样设备上就安装了此示例应用,可以在设备上运行了。

Qualcomm 解决方案

 

高通 AI Hub

全新高通 AI Hub 包含预优化AI模型库,支持在搭载骁龙和高通平台的终端上进行无缝部署。
该模型库为开发者提供超过75个主流的AI和生成式AI模型,比如Whisper、ControlNet、Stable Diffusion和Baichuan-7B,可在不同执行环境(runtime)中打包,能够在不同形态终端中实现卓越的终端侧AI性能、降低内存占用并提升能效。所有模型均经过优化,以充分利用高通AI引擎内所有核心(NPU、CPU和GPU)的硬件加速能力,从而使推理速度提升4倍。

了解更多

SDK 下载

本版块下载 SDK,只需简单注册,就可轻松下载。