TensorFlow Android演示:无法使用Bazel构建,无法读取RELEASE.TXT

最近,我一直在学习如何使用TensorFlow,并想在我的计算机上设置Android演示以了解其工作原理.我按照here提供的说明进行操作,唯一的区别是我通过Android Studio安装了Android SDK,并通过SDK Manager安装了Android NDK.直到$bazel build // tensorflow / examples / android:tensorflow_demo,一切正常,但是在那之后,我从终端收到了这个错误:

ERROR: no such package '@androidndk//': Could not read RELEASE.TXT in Android NDK: /home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk/RELEASE.TXT (No such file or directory).
ERROR: no such package '@androidndk//': Could not read RELEASE.TXT in Android NDK: /home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk/RELEASE.TXT (No such file or directory).

通过环顾类似的问题,我的理解是该错误是因为RELEASE.TXT文件未包含在最新版本的Android NDK中. This issue建议降级到包含RELEASE.TXT文件的NDK的早期版本,并提供下载此类版本的链接.但是,我遵循的链接(https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin)下载了.bin文件,该文件对我来说不可用.该帖子还建议注释掉WORKSPACE文件中的NDK条目,但是我还没有尝试过,因为我不知道它是否会在以后引起更多的复杂性.

我尝试过的另一种方法是转到错误日志指示的路径(/home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk)并创建一个空白的RELEASE.TXT文件,该文件没有区别. (我无法在安装的NDK中创建一个文件,因为它是.jar文件的形式,位于路径/ home / me / android-studio / android-studio / plugins / android-ndk / lib ,因此我唯一能看到的就是这条路.

就目前而言,我处于死胡同.是否有另一种方法可以解决此问题而无需降级或注释掉NDK条目?如果没有,如何安装早期版本的Android NDK?

解决方法:

我还在TensorFlow的官方GitHub存储库中将此问题发布为#3175,现已解决.在该线程中可以找到我为解决问题而执行的步骤的逐个过程.这有点令人费解,所以我认为将解决以下问题的步骤如下:

>如果在git克隆TensorFlow存储库时未使用–recursive选项,请使用该选项重新克隆它.
>降级到Android NDK r11c(并确保相应地更新WORKSPACE文件).可以在GitHub线程中找到Linux版本的链接.
>检查您的Android SDK版本和构建工具.如果它们不同于WORKSPACE文件中写入的默认版本,请确保进行更改.
>您可能会遇到尚未解决的TensorFlow问题. (#3374)如果是这样,请运行./configure作为解决方法.

这将使Bazel构建成功进行.

上一篇:javascript实现文件下载


下一篇:tensorflow C++ 环境搭建及实战