android - 使用 bazel 支持在 android 上构建 tensorflow 时出错

标签 android gradle tensorflow build.gradle bazel

如以下链接中所述 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#android-studio

“此时你可以将tensorflow/examples/android目录添加为一个新的Android Studio项目。”

我所做的一切

  1. 使用“git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git”克隆了 git repo
  2. 使用“bazel build -c opt//tensorflow/examples/android:tensorflow_demo”构建 APK
  3. 在“/.../.../tensorflow-master/bazel-bin/tensorflow/examples/android”中找到 APK
  4. 如上所述,我尝试添加“tensorflow/examples/android” 目录作为一个新的 Android Studio 项目
  5. 如上面链接中所述,“查看 build.gradle 并确保 Bazel 的路径与您系统的路径匹配。”我将其更改为“def bazelLocation = '/usr/bin/bazel'

错误

我正在尝试从 Android Studio 构建 APK,但发现了这个错误

错误:任务“:buildExternalAssets”执行失败。 进程 'command '/usr/bin/bazel'' 以非零退出值 1 完成

Gradle 构建消息

执行任务:[:assembleDebug]

按需配置是一项正在孵化的功能。

:preBuild UP-TO-DATE :preDebugBuild 最新 :检查调试 list :prepareDebugDependencies :compileDebugAidl 最新 :compileDebugRenderscript 最新 :generateDebugBuildConfig 最新 :generateDebugResValues 最新 :generateDebugResources 最新 :mergeDebugResources 最新 :processDebugManifest 最新 :processDebugResources 最新 :generateDebugSources 最新 :incrementalDebugJavaCompilationSafeguard 最新 :javaPreCompileDebug :compileDebugJavaWithJavac 最新 :compileDebugNdk 最新 :compileDebugSources 最新 :buildExternalAssets

无法在“/usr/local/java/jdk1.8.0_101/bin/java”中找到 java。

失败

失败:构建失败,出现异常。

  • 出了什么问题:

任务“:buildExternalAssets”执行失败。

进程'command '/usr/bin/bazel'' 以非零退出值 1 结束

  • 尝试:

使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。

构建失败

总时间:11.433 秒

最佳答案

感谢@cricket_007 的回复和澄清我对jdk安装的概念

解决上面的问题

  1. 在 [/.../.../.../tensorflow-master/tensorflow/examples/android/build.gradle] 打开 “build.gradle”,检查对于

    def externalModelData = '../../../bazel-tensorflow-master/external'”

  2. 验证 def externalModelData 指向正确的文件夹名称,最初它是 '../../../bazel-tensorflow/外部'

  3. 我不得不将其更改为 bazel-tensorflow-master,这些是 bazel 生成的文件夹,在您使用 bazel、Android 在命令行上从 github 编译 tensorflow 源代码后SDK和Android NDK工具

  4. 还要确保您的 Jdk 安装是完美的。

关于android - 使用 bazel 支持在 android 上构建 tensorflow 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42884220/

相关文章:

python - 密集层中的多个 Softmax

python - TensorFlow 主管阻止变量分配 : Graph is finalized and cannot be modified

tensorflow - 如何清理图像以与 MNIST 训练模型一起使用?

android - 生成签名 APK 错误 : java. util.zip.ZipException

android - com.google.android.gms.auth.GoogleAuthException : Unknown

java - 如何在 Android Canvas 中创建颜色图案

android - 无法使用 Android Studio 1.2 和 Gradle 1.2.2 加载类 OutputFileTask

android - Android依赖关系无法在Groovy项目中解决

android - 这导致应用程序崩溃。所有com.android.support库都必须使用完全相同的版本规范(混合版本可能导致运行时崩溃)

java - 使用 Iterator 解析 JSON 并相应地在 listview 中设置它