android linux编译tensorflow的jar包和so文件

本来想在win10上编译的,结果失败了就搞了个虚拟机

系统:ubuntu 17.04

先安装java 的jdk

去官网下载linux的jdk

解压到当前文件夹

$ tar -zxvf xxxx.tar.gz

打开profile文件

$ sudo gedit /etc/profile

设置环境变量

JAVA_HOME=/xxx/jdk     //xxx表示路径,jdk为根目录

JRE_HOME=$JAVA_HOME/jre

CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME CLASSPATH

重启机器或执行命令 :source /etc/profile

java -version

有信息就安装成功了


下载android sdk

http://www.androiddevtools.cn/

$ cd sdk目录

执行

$ tools/android update sdk --no-ui    //更新最新版本

$ tools/android list sdk --all     //查看版本

$ tools/android update sdk -u -a -t 1   //安装指定版本,多个版本用逗号分隔 1,2,3,4

下载android ndk

设置环境变量

在PATH后加上ndk路径,环境变量用:分隔

PATH=$PATH:/xxx/sdk:/xxx/ndk   //ndk为根目录

$ ndk-build -version //普通账号找不到指令,root账号可以,可能设置有问题

查看信息

bazel

添加执行权限

$ chmod +x bazel-xxxx.sh

执行该文件

$ ./bazel-xxxx.sh--user  //当使用root帐号执行这句时去掉 --user

设置环境变量

PATH=$PATH:/xxxxx/bin  //我到bazel文件在/usr/local/bin和/usr/local/lib/bazel/bin内,我选了路径短到,没试路径长的

$ bazel version

查看信息


下载TensorFlow

$ git clone https://github.com/tensorflow/tensorflow

修改WROKSPACE文件

android_sdk_repository(
    name = "androidsdk",
    api_level = 26,    //sdk最高版本
    # Ensure that you have the build_tools_version below installed in the
    # SDK manager as it updates periodically.
    build_tools_version = "26.0.1",//build-tools内查看最高版
    # Replace with pathto Android SDKon your system
    path = "/xxx/sdk",//sdk路径
)

android_ndk_repository(
    name="androidndk",
    path="/xxx/ndk",//ndk路径
    # This needs to be 14 or higher to compile TensorFlow.
    # Note that the NDK version is not the API level.
    api_level=14//ndk版本

)


在tensorflow根目录执行
编译so文件
$ bazel build -c opt //tensorflow/contrib/android:libtensorflow_inference.so --crosstool_top=//external:android/crosstool --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --cpu=armeabi-v7a
编译jar文件
$ bazel build //tensorflow/contrib/android:android_tensorflow_inference_java
查找文件
$ find / -name libtensorflow_tensorflow_inference_java.jar
我自己在jdk1.8环境编译的arm64-v8a,armeabi,armeabi-v7a,x86,x86_64的so文件和jar包
链接: https://pan.baidu.com/s/1nuQ4UpF 密码: hust

















评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值