首页 文章

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

提问于
浏览
1

如下面链接中所述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的路径与您系统的路径匹配." I changed it to " def bazelLocation = '/usr/bin/bazel'

错误

我正在尝试从Android Studio构建APK并发现此错误

Error:Execution failed for task ':buildExternalAssets'. Process 'command '/usr/bin/bazel'' finished with non-zero exit value 1

Gradle Build Messages

执行任务:[:assembleDebug]

按需配置是一项孵化功能 .

:preBuild UP-TO-DATE:preDebugBuild UP-TO-DATE:checkDebugManifest:prepareDebugDependencies:compileDebugAidl UP-TO-DATE:compileDebugRenderscript UP-TO-DATE:generateDebugBuildConfig UP-TO-DATE:generateDebugResValues UP-TO-DATE:generateDebugResources UP- TO-DATE:mergeDebugResources UP-TO-DATE:processDebugManifest UP-TO-DATE:processDebugResources UP-TO-DATE:generateDebugSources UP-TO-DATE:incrementalDebugJavaCompilationSafeguard UP-TO-DATE:javaPreCompileDebug:compileDebugJavaWithJavac UP-TO-DATE:compileDebugNdk UP -TO-DATE:compileDebugSources UP-TO-DATE:buildExternalAssets

无法在'/usr/local/java/jdk1.8.0_101/bin/java'找到java .

失败

FAILURE:构建因异常而失败 .

  • 出了什么问题:

任务':buildExternalAssets'的执行失败 .

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

  • 尝试:

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

建筑失败

总时间:11.433秒

1 回答

  • 1

    感谢@ cricket_007回复和清除我关于jdk安装的概念

    解决上面的问题

    • 在[/.../.../.../tensorflow-master/tensorflow/examples/android/build.gradle]打开 "build.gradle" ,检查

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

    • 确认 def externalModelData 指向正确的文件夹名称,最初是'../../../ bazel-tensorflow / external'

    • 我必须将它更改为 bazel-tensorflow-master ,这些是bazel生成的文件夹,在您使用bazel,Android SDK和Android NDK工具从命令行编译github上的tensorflow源之后

    • 还要确保您的Jdk安装完美 .

相关问题