赞
踩
在上一篇(编译MediaPipe 环境配置篇1_gong0585的专栏-CSDN博客)讲解的配置运行环境。下面开始讲怎么修改,才能在国内的编译环境,正确执行。
进入我们配置好的Docker环境。开始下载源文件。
- $ git clone https://github.com/google/mediapipe.git
- $ cd mediapipe
- $ docker build --tag=mediapipe .
#pwd 看下文件路径。
/mediapipe
#vi WORKSPACE 这里是重点。
用下面国内的镜像仓库,替换掉google的,
之前旧的
repositories = [
"https://maven.google.com",
"https://dl.google.com/dl/android/maven2",
"https://repo1.maven.org/maven2",
"https://jcenter.bintray.com",
],
新的
repositories =
[
"https://maven.aliyun.com/repository/google",
"https://maven.aliyun.com/repository/central",
"https://maven.aliyun.com/repository/public",
],
执行下hello world
用docker虚拟一个名叫mediapipe的任务。
#docker run -it --name mediapipe mediapipe:latest
成功后进入到docker虚拟机。
#GLOG_logtostderr=1 bazel run --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hello_world:hello_world
然后就是编译。
再后面就是出结果。
到这里 是基本上不用替换成阿里云的配置仓库也可以执行成功。
有些人会问我,下次我退出了怎么才能进入这个docker环境。好的下面介绍下。
首先,用windows终端程序,加载我们的ubuntu20虚拟机。
#docker ps -a
如果STATUS不是Up xx hours你还需要执行下,启动程序,让他启动
#docker start d3f4bbe9c019
之后进入docker虚拟机的命令
#docker attach d3f4bbe9c019
ok,上面就是怎么重新进入docker环境的操作步骤。
下面我们在Docker环境中,接着编译android程序。
执行android的SDK,NDK配置批处理程序
root@bca08b91ff63:/mediapipe# bash ./setup_android_sdk_and_ndk.sh
执行,环境变量设置
- #vim ~/.bashrc 添加下面的两行内容
- export ANDROID_HOME=/root/Android/Sdk
- export ANDROID_NDK_HOME=/root/Android/Sdk/ndk-bundle/android-ndk-r19c
- #source ~/.bashrc
然后执行
root@bca08b91ff63:/mediapipe#bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu:objectdetectiongpu
得到下面的正确结果。
关键点在WORKSPACE的仓库配置。别指望用源文件的google仓库。就算你翻墙也运行不了。
- repositories =
- [
- "https://maven.aliyun.com/repository/google",
- "https://maven.aliyun.com/repository/central",
- "https://maven.aliyun.com/repository/public",
- ],
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。