【问题标题】:UVCCamera with samples, how import to android studio?UVCCamera 带样品,如何导入到android studio?
【发布时间】:2020-07-27 20:58:51
【问题描述】:

我想使用 USB 摄像头 (uvc) 和 Android Studio (Windows)。我遇到了 USB cam 库“libuvccamera”的问题。我想知道如何解决问题或以任何其他方式在我的应用程序中获取 USB cam 的视图。让我更好地解释发生了什么:

我用 CameraFi 应用程序 (https://www.camerafi.com/apps/) 测试了 USB 摄像头,并且 USB 摄像头被 Android 系统识别(并且工作正常)。

在 Android Studio 中搜索使用 uvc (usb) cams 后,我发现我可以使用这个库:https://github.com/saki4510t/UVCCamera。

下载此库 + 示例后,我尝试使用 Android Studio 打开(只需打开builg.gradle),代码看起来没问题,但是当我尝试运行 usbCameraTest0(或任何其他示例)时,构建失败(我附上构建输出):

FAILURE:构建失败并出现异常。

  • 出了什么问题: 任务 ':libuvccamera:ndkBuild' 执行失败。

    启动进程'command 'null/ndk-build.cmd''时出现问题

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

    通过https://help.gradle.org获得更多帮助

在 2 秒内构建失败 14 个可操作的任务:7 个已执行,7 个是最新的

=> 如果使用 --stacktrace 选项运行,我会得到:

FAILURE:构建失败并出现异常。

  • 出了什么问题: 任务“:libuvccamera:ndkBuild”执行失败。

    启动进程'command 'null/ndk-build.cmd''时出现问题

例外情况是: org.gradle.api.tasks.TaskExecutionException:任务':libuvccamera:ndkBuild'的执行失败。 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:166) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:163) 在 org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:191) 在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:156) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62) 在 org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108) 在 org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67) 在 org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46) 在 org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94) 在 org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) 在 org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95) 在 org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) 在 org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) 在 org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158) 在 org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102) 在 org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36) 在 org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) 在 org.gradle.execution.plan.LocalTask​​NodeExecutor.execute(LocalTask​​NodeExecutor.java:43) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336) 在 org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193) 在 org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129) 在 org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) 在 org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) 在 org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) 原因:org.gradle.process.internal.ExecException:启动进程'command 'null/ndk-build.cmd''时出现问题 在 org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:237) 在 org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:214) 在 org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:364) 在 org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:87) 在 org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42) ... 3 更多 原因:net.rubygrapefruit.platform.NativeException:无法启动“null/ndk-build.cmd” 在 net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27) 在 net.rubygrapefruit.platform.internal.WindowsProcessLauncher.start(WindowsProcessLauncher.java:22) 在 net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36) 在 org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:98) 在 org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:71) ... 4 更多 原因:java.io.IOException:无法运行程序“null/ndk-build.cmd”(在目录“C:\Proyectos_STUDIO\UVCCamera-master\libuvccamera”中):CreateProcess error=2,El sistema no puede encontrar el archivo特殊的 在 net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25) ... 8 更多 原因:java.io.IOException: CreateProcess error=2, El sistema no puede encontrar el archivo especificado ... 9 更多

在 2 秒内构建失败 16 个可操作的任务:3 个已执行,13 个最新

【问题讨论】:

    标签: android android-camera lib ndk-build uvc


    【解决方案1】:

    我有同样的问题。我在 local.properties 文件中添加了 SDK 和 NDK 路径。这是自述文件中的第 5 点。

    sdk.dir=/home/username/Android/Sdk
    ndk.dir=/home/username/Android/Sdk/ndk-bundle
    

    我使用的是 Ubuntu 16.04,windows 路径不同。 希望这可以帮助。谢谢

    【讨论】:

    • 此解决方案不起作用。请向我建议另一种解决方案
    猜你喜欢
    • 2014-07-08
    • 2015-06-13
    • 2017-01-20
    • 2015-02-10
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多