zoukankan      html  css  js  c++  java
  • TensorFlow Android Camera Demo 使用android studio编译安装和解决Execution failed for task ':buildNativeBazel'报错

    可以参考官网:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#android-studio

    官网讲的很简单:

    Android Studio may be used to build the demo in conjunction with Bazel. First, make sure that you can build with Bazel following the above directions. Then, look at build.gradle and make sure that the path to Bazel matches that of your system.

    At this point you can add the tensorflow/examples/android directory as a new Android Studio project. Click through installing all the Gradle extensions it requests, and you should be able to have Android Studio build the demo like any other application (it will call out to Bazel to build the native code with the NDK).

    简单地讲:就是

    1、安装bazel

    2、下载tensorflow官网代码,在tensorflow/examples/android下的build.gradle中修改bazel的路径

    3、用android studio 打开tensorflow/examples/android

    4、gradle会根据配置说缺少什么什么版本的api,就直接anzhuang(安装)

    5、run

    然后报错:

    * What went wrong:
    Execution failed for task ':buildNativeBazel'.
    > Process 'command '/usr/bin/bazel'' finished with non-zero exit value 1

    其实,这就是buildNativeBazel,用ctrl+shift+f,输入buildNativeBazel,有兩個結果:

    def nativeBuildRule = 'buildNativeBazel'
    task buildNativeBazel(type: Exec) {
    workingDir '../../..'
    commandLine bazelLocation, 'build', '-c', 'opt',
    'tensorflow/examples/android:tensorflow_native_libs',
    '--crosstool_top=//external:android/crosstool',
    '--cpu=' + cpuType,
    '--host_crosstool_top=@bazel_tools//tools/cpp:toolchain'
    }

    第一条结果就是一个定义,没什么用。主要是第二条,发现执行这个命令,bazel build ....执行的目录是在tensorflow下,所以想到

    官网上的Building the Demo with TensorFlow from Source

    需要配置

    Edit WORKSPACE

    NOTE: As long as you have the SDK and NDK installed, the ./configure script will create these rules for you. Answer "Yes" when the script asks to automatically configure the ./WORKSPACE.

    The Android entries in <workspace_root>/WORKSPACE must be uncommented with the paths filled in appropriately depending on where you installed the NDK and SDK. Otherwise an error such as: "The external label '//external:android/sdk' is not bound to anything" will be reported.

    Also edit the API levels for the SDK in WORKSPACE to the highest level you have installed in your SDK. This must be >= 23 (this is completely independent of the API level of the demo, which is defined in AndroidManifest.xml). The NDK API level may remain at 14.

    也就是直接打开WORKSPACE文件,将下面的填上就好了,注意andriod studio 最新的是安装ndk16,现在bazel还不支持,所以自己下载r14b,解压,然后路径填写自己解压的就可以,而sdk version 也就是api level,填写和在tensorflow/examples/android下的build.gradle中使用的版本一致就可以,因为android studio 的gradle会自动下载相应的版本,就是“4、gradle会根据配置说缺少什么什么版本的api,就直接anzhuang(安装)”

    #android_sdk_repository(
    #    name = "androidsdk",
    #    api_level = 23,
    #    # Ensure that you have the build_tools_version below installed in the
    #    # SDK manager as it updates periodically.
    #    build_tools_version = "25.0.2",
    #    # Replace with path to Android SDK on your system
    #    path = "<PATH_TO_SDK>",
    #)
    #
    # Android NDK r12b is recommended (higher may cause issues with Bazel)
    #android_ndk_repository(
    #    name="androidndk",
    #    path="<PATH_TO_NDK>",
    #    # This needs to be 14 or higher to compile TensorFlow.
    #    # Note that the NDK version is not the API level.
    #    api_level=14)

    取消#注释,然后填入,再run就ok啦。

    参考:

    http://blog.csdn.net/masa_fish/article/details/54585537

    http://blog.csdn.net/masa_fish

  • 相关阅读:
    Django Admin Cookbook-27如何在Django Admin后台中添加基于日期的过滤
    Django Admin Cookbook-26如何禁用Django Admin后台分页
    Django Admin Cookbook-25如何在模型列表页上显示更多行
    Django Admin Cookbook-24如何从两个不同的模型创建一个Django Admin后台页面
    Django Admin Cookbook-23如何在Django admin中添加嵌套的内联
    Django Admin Cookbook-22如何将一对一关系添加为Admin内联字段
    Django Admin Cookbook-21如何从Django Admin后台一个页面同时编辑多个模型
    个人收集的一些Django基础及实战教程
    Django Admin Cookbook-20如何删除模型的“添加”/“删除”按钮
    操作系统 RR轮转调度算法(C++实现)
  • 原文地址:https://www.cnblogs.com/YouXiangLiThon/p/8253527.html
Copyright © 2011-2022 走看看