HyperFT项目安卓端的环境搭建及编译的图解教程

一、Android studio 3.5安装详解

1.安装IDE

安装前的准备:已安装过的需要卸载,并且删除C:\user\yourname\ 下.android ,gradle, .AndroidStudio 3个文件夹。

1.1 cmd命令窗口输入ping dl.google.com,得到ip:203.208.40.39,把dl.google.com和dl-ssl.google.com都指向这个IP,具体:打开或新建C:\Windows\System32\drivers\etc 中的hosts文件,在最后增加以下内容:

203.208.40.39 dl-ssl.google.com

203.208.40.39 dl.google.com

修改好hosts文件之后,在cmd命令窗口输入ipconfig /flushdns清除缓存DNS。

1.2访问安卓中文社区官网 https://www.androiddevtools.cn,下载android-studio-ide-191.5791312-windows.exe。安装很简单,直接一路点击下一步即可。

1.3 运行,初次安装会提示未安装Android SDK: 点取消,点No。


2. 安装Android SDK

点击菜单file->Settings,如下图,在SDK Platforms中,选择你想要的版本,点应用,接受,安装。

切换到SDK Tools,按下图选择,点Ok,安装。


二、HyperFT项目的环境搭建

1、HyperFT项目下载

github地址:https://github.com/zeusees/HyperFT

gitee地址:https://gitee.com/huiwei13/HyperFT


通过git方式或者下载压缩包的方式进行项目下载。


2、第三方库下载

opencv:4.1.1

https://github.com/opencv/opencv/releases/download/4.1.1/opencv-4.1.1-android-sdk.zip

ncnn:20190611 bade132

https://github.com/Tencent/ncnn/releases/download/20190611/ncnn-android-lib.zip


三、HyperFT项目编译设置

1、启动AS打开HyperFT的Prj-Android项目


2、项目报错及解决方法

a、项目路径出现中文

打开项目之后报如下错误

错误原因:引用项目的路径中包含中文

解决方法:

把现有的项目路径修改至不包含中文。


b、报NDK错误

编译提示"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"


网上也有解决办法,下载旧版的NDK,将其中的toolchain复制到新版的NDK中


但是感觉这种方式,不是解决的正道。


经过对新版NDK的研究,发现NDK的更新记录里有记载


This version of the NDK is incompatible with the Android Gradle plugin

version 3.0 or older. If you see an error like

`No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android`,

update your project file to [use plugin version 3.1 or newer]. You will also

need to upgrade to Android Studio 3.1 or newer.


也就是说新版本的NDK与3.0及以前旧版的Android Gradle plugin插件不兼容


解决方法:修改build.gradle中的红字部分,改为3.1以上版本即可

dependencies {    classpath'com.android.tools.build:gradle:3.3.2'//NOTE:Do not place your application dependencies here; they belong// in the individual module build.gradle files}



3、修改CMakeLists.txt文件

cmake_minimum_required(VERSION3.1)project(FaceTracking-lib)set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -std=c++11")set(CMAKE_C_FLAGS"${CMAKE_CXX_FLAGS} -fopenmp")set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -fopenmp")include_directories(F:/ncnn-android-lib/include)include_directories(F:/OpenCV-android-sdk/sdk/native/jni/include)include_directories(src/main/cpp/include)set(distribution_DIR${CMAKE_SOURCE_DIR}/../../../../src/main/jniLibs)find_library(# Sets the name of the path variable.log-lib# Specifies the name of the NDK library that# you want CMake to locate.log )set(DETECTION_FILES mtcnn.cpp)set(SOURCE_FILES tracking-lib.cpp)add_library(libncnn STATIC IMPORTED )set_target_properties(libncnn PROPERTIES IMPORTED_LOCATION F:/ncnn-android-lib/${ANDROID_ABI}/libncnn.a)add_library(Tracking-lib SHARED${DETECTION_FILES}${SOURCE_FILES})set(OpenCV_DIR"F:/OpenCV-android-sdk/sdk/native/jni")find_package(OpenCV REQUIRED)target_link_libraries(Tracking-lib libncnn${OpenCV_LIBS}z jnigraphics)

将以上代码中的F:/ncnn-android-lib替换成ncnn-android-lib.zip下载解压之后的路径,F:/OpenCV-android-sdk替换成opencv-4.1.1-android-sdk.zip下载解压之后的路径,点击Build->Refresh Linked C++ Project,无报错即可。


4、修改LandmarkTracking.h文件

由于将opencv3替换成最新版的opencv4,源代码LandmarkTracking.h有一下几点需要修改。

a、在tracking_corrfilter函数中存在下图三处地方需要修改

b、在update函数中也存在下图三处地方需要修改



5、修改tracking-lib.h文件

a、在Java_trackingsoft_tracking_FaceTracking_initTracking函数中也存在下图一处地方需要修改

b、在Java_trackingsoft_tracking_FaceTracking_update函数中也存在下图一处地方需要修改


6、编译

完成以上所有操作之后,点击Build->ReBuild Project 即可


编译成功之后便会在Prj-Android\app\build\outputs\apk\debug的路径中生成一个app-debug.apk




zeusee.com智云视图

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容