HyperFT項目安卓端的環(huán)境搭建及編譯的圖解教程

一、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訪問安卓中文社區(qū)官網(wǎng)?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項目的環(huán)境搭建

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、項目路徑出現(xiàn)中文

打開項目之后報如下錯誤

?

錯誤原因:引用項目的路徑中包含中文

解決方法:

把現(xiàn)有的項目路徑修改至不包含中文。


b、報NDK錯誤

?

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


網(wǎng)上也有解決辦法,下載舊版的NDK,將其中的toolchain復制到新版的NDK中


但是感覺這種方式,不是解決的正道。


經(jīng)過對新版NDK的研究,發(fā)現(xiàn)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(xiàn):/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函數(shù)中存在下圖三處地方需要修改

?

b、在update函數(shù)中也存在下圖三處地方需要修改

?



5、修改tracking-lib.h文件

a、在Java_trackingsoft_tracking_FaceTracking_initTracking函數(shù)中也存在下圖一處地方需要修改

?

b、在Java_trackingsoft_tracking_FaceTracking_update函數(shù)中也存在下圖一處地方需要修改

?


6、編譯

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

?


編譯成功之后便會在Prj-Android\app\build\outputs\apk\debug的路徑中生成一個app-debug.apk


?


?


zeusee.com智云視圖

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容