最近我一直在学习如何使用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中创建一个,因为它在路径/home/me/android-studio/android-studio/plugins/android-ndk/lib
处以.jar文件的形式存在,因此我能看到的唯一方法就是这条路径。)
目前看来,我走到了尽头。是否有其他方法可以在不降级或评论NDK条目的情况下解决此问题?如果没有,我该如何安装以前版本的Android NDK?
答案 0 :(得分:3)
我还在TensorFlow的官方GitHub存储库中将此问题发布为问题#3175,并且已经解决了。我可以在该线程中找到解决问题所遵循的步骤的逐个播放。这有点令人费解,所以我认为可以解决这个问题的步骤如下:
这应该允许Bazel构建成功进行。
答案 1 :(得分:0)
您是否在不使用Bazel的情况下使用其他方法编译TensorFlow for Android?它在TensorFlow Makefile
中描述