2016-07-04 36 views
2

最近,我一直在學習如何使用TensorFlow,並希望在我的計算機上設置Android演示以瞭解它們的工作原理。我遵循here提供的說明,唯一的區別是我通過Android Studio安裝了Android SDK,並通過SDK Manager安裝了Android NDK。直到$ bazel build //tensorflow/examples/android:tensorflow_demo,一切運行良好,但在那之後,我從終端這個錯誤:TensorFlow Android演示:無法與Bazel一起構建,無法讀取RELEASE.TXT

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?

回答

2

中有描述我還在問題#3175中發佈了這個問題,它位於TensorFlow的官方GitHub存儲庫中,並且已解決。在該主題中可以找到我所遵循的用於解決問題的步驟。這是一個有點令人費解,所以我相信步驟可以解決這樣的問題如下:

  1. 如果你沒有使用時混帳克隆它使用了TensorFlow庫,再克隆--recursive選項。
  2. 降級到Android NDK r11c(並確保相應地更新WORKSPACE文件)。可以在GitHub線程中找到Linux版本的鏈接。
  3. 檢查您的Android SDK的版本和構建工具。如果它們與寫在WORKSPACE文件中的默認版本不同,請確保更改該版本。
  4. 您可能會遇到尚未解決的TensorFlow問題。 (#3374)如果是這樣,請運行./configure作爲解決方法。

而且這應該允許Bazel構建成功進行。

0

您是否看過使用另一種方式來編譯TensorFlow for Android而不使用Bazel?它在TensorFlow Makefile

+0

該鏈接用於構建TensorFlow本身,我已經完成(成功)。我正在嘗試構建TensorFlow Android演示,並且沒有成功。 – Technicolor