一、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(VERSION 3.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 智云视图

HyperFT项目安卓端的环境搭建及编译的图解教程的更多相关文章

  1. FFMPEG在嵌入式硬件上应用之 —— 基本环境搭建及编译

    前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...

  2. OSG+VS2010+win7环境搭建---OsgEarth编译

    OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...

  3. FFMPEG高级编程第一篇:环境搭建及编译

    前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...

  4. Tesseract环境搭建及编译安装

    Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...

  5. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  6. 【Robot Framework 项目实战 00】环境搭建

    前言 我们公司在推广RF这个框架做后端接口测试,力求让同事们能更快的完成服务端需求的自动化,作为主导者之一,决定分享一些经验,方便后来者. 我会从安装部署.Request.selenium.自定义框架 ...

  7. 开源项目学习之------AG-Admin环境搭建

    原文地址: https://blog.csdn.net/u011781521/article/details/79056974 一.框架简介 AG-Admin是基于Spring Cloud微服务化开发 ...

  8. appium移动端自动化测试环境搭建windows-appium-android

    第一步:安装jdk 安装jdk(1.7版本以上) 安装完成设置jdk环境变量(百度查询) cmd命令下键入 java -version命令检查jdk是否安装成功且设置环境变量成功,如下图所示: 第二步 ...

  9. android安卓最新快捷环境搭建(转)

    现在很多视频和文章上的安卓环境搭建还是比较老的,挺麻烦.现在写快速方便的搭建: 一.下载JDK: 网址:http://www.oracle.com/technetwork/java/javase/do ...

随机推荐

  1. javascript实现上传图片并展示

    我们也都知道上传图片的样子是这样的(选择前)是这样的(选择后). 先在HTML设置图片上传 <form action="" method=""> & ...

  2. android 第三方开源库 学习汇总

    依赖注入框架ButterKnife  https://github.com/JakeWharton/butterknife  学习过程     专注于android的View注入框架,并不支持其他方面 ...

  3. Canny算法检测边缘

    Canny算法是边缘检测的一个经典算法,比单纯用一些微分算子来检测的效果要好很多,其优势有以下几点: 边缘误检与漏检率低. 边缘定位准确,且边界较细. 自带一定的滤噪功能,或者说,对噪声的敏感度要比单 ...

  4. jvm运行时数据区之程序计数器

    什么是程序计数器? 程序计数器是一块 较小 的内存空间,它可以看做是当前线程所执行的字节码的 行号指示器 :在虚拟机的概念模型里(仅仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解 ...

  5. 推荐收藏 —— MySQL视图详细介绍

    前言:  在MySQL中,视图可能是我们最常用的数据库对象之一了.那么你知道视图和表的区别吗?你知道创建及使用视图要注意哪些点吗?可能很多人对视图只是一知半解,想详细了解视图的同学看过来哟,本篇文章会 ...

  6. poi坑点(springboot)

    工作上需要写了一个将数据库数据生成excel表的接口,在此过程中遇到了一些坑点,现在此纪录 PS:一部分可能是因为我没用明白 1. 样式问题 自动调整尽量不要使用,部分列留白过多,空列列宽过窄,可能是 ...

  7. Linux常用指定

    学前理论 linux主要特征 :一切且文件(目录.硬盘等都是文件):硬件都在/dev 目录,如硬盘.U盘为/dev/sd[a-d]: /dev/sr0(/dev/cdrom)是光驱的设备名(df命令查 ...

  8. Makefile 基础语法

    1.. specify the directores , i not specified , search current directory put every folder into a list ...

  9. dapi 基于Django的轻量级测试平台七 怎样部署到生产环境

    QQ群: GitHub:https://github.com/yjlch1016/dapi Nginx+uWSGI 前置条件:以下所有操作均在root账号下面进行如果不是root用户请注意权限问题因为 ...

  10. Manacher算法(马拉车)求最长回文子串

    Manacher算法求最长回文字串 算法思路 按照惯例((・◇・)?),这里只是对算法的一些大体思路做一个描述,因为找到了相当好理解的博客可以参考(算法细节见参考文章). 一般而言,我们的判断回文算法 ...