如以下链接中所述 https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android#android-studio
“此时你可以将tensorflow/examples/android目录添加为一个新的Android Studio项目。”
我所做的一切
- 使用“git clone --recurse-submodules https://github.com/tensorflow/tensorflow.git”克隆了 git repo
- 使用“bazel build -c opt//tensorflow/examples/android:tensorflow_demo”构建 APK
- 在“/.../.../tensorflow-master/bazel-bin/tensorflow/examples/android”中找到 APK
- 如上所述,我尝试添加“tensorflow/examples/android” 目录作为一个新的 Android Studio 项目
- 如上面链接中所述,“查看 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安装的概念
解决上面的问题
在 [/.../.../.../tensorflow-master/tensorflow/examples/android/build.gradle] 打开 “build.gradle”,检查对于
“def externalModelData = '../../../bazel-tensorflow-master/external'”
验证 def externalModelData 指向正确的文件夹名称,最初它是 '../../../bazel-tensorflow/外部'
我不得不将其更改为 bazel-tensorflow-master,这些是 bazel 生成的文件夹,在您使用 bazel、Android 在命令行上从 github 编译 tensorflow 源代码后SDK和Android NDK工具
还要确保您的 Jdk 安装是完美的。
关于android - 使用 bazel 支持在 android 上构建 tensorflow 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42884220/