Ubuntu TensorFlow 源碼 Android Demo的編譯運行
一、 安裝 Android 的SDK和NDK
SDK 配置
A:下載
國內下載地址選最新的:
SDK:
https://developer.android.google.cn/studio/index.html
也可以下載一個舊的再update
NDK:
https://developer.android.google.cn/ndk/downloads/index.html
B:解壓 配置環境變量
sudo tar -zxvf android-sdk_r26.0.1-linux.tgz
sudo unzip android-ndk-r14b-linux-x86_64.zip
SDK更新(如果是最新的無需更新)
cd ~/sdk/android-sdk-linux
sudo tools/android update sdk --no-ui
C:配置環境變量
打開.bashrc 最后添加一行(主要更改目錄)
PATH="/home/dyufei/sdk/android-sdk-linux/tools:/home/dyufei/sdk/android-sdk-linux/platform-tools:/home/dyufei/sdk/android-sdk-linux/build-tools:${PATH}"
D: 使環境變量生效
source .bashrc
二、 TensorFlow 源碼下載、配置
源碼的下載、編譯、安裝請參考: http://www.cnblogs.com/dyufei/p/8027517.html
1)下載tensorflow 源碼
git clone https://github.com/tensorflow/tensorflow
2)配置TensorFlow 的WORKSPACE
在 TensorFlow 的根目錄下,找到WORKSPACE,將注釋了的SDK和NDK的部分打開,修改成自己的SDK和JDK的目錄和對應的版本
#Uncomment and update the paths in these entries to build the Android demo.
android_sdk_repository(
name = "androidsdk",
api_level = 25,
# Ensure that you have the build_tools_version below installed in the
# SDK manager as it updates periodically.
build_tools_version = "27.0.2",
# Replace with path to Android SDK on your system
path = "/home/dyufei/sdk/android-sdk-linux/",
)
android_ndk_repository(
name="androidndk",
path="/home/dyufei/sdk/android-ndk-r14b/",
# This needs to be 14 or higher to compile TensorFlow.
# Please specify API level to >= 21 to build for 64-bit
# archtectures or the Android NDK will automatically select biggest
# API level that it supports without notice.
# Note that the NDK version is not the API level.
api_level=14)
3)編譯Android Demo APK
在 TensorFlow 的根目錄下,執行下面命令編譯:
bazel build //tensorflow/examples/android:tensorflow_demo
編譯完成后生成三個文件:
(在bazel-bin/tensorflow/examples/android/目錄下)
Target //tensorflow/examples/android:tensorflow_demo up-to-date:
bazel-bin/tensorflow/examples/android/tensorflow_demo_deploy.jar
bazel-bin/tensorflow/examples/android/tensorflow_demo_unsigned.apk
bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
INFO: Elapsed time: 201.760s, Critical Path: 69.16s
INFO: Build completed successfully, 784 total actions
4)在手機上運行
好了,大功告成!
將tensorflow_demo.apk 安裝到手機上,看看效果吧