我正在尝试一个基本的Android应用程序,其中包含从源代码构建的NDK库.构建时出现以下错误:
gradlew assembleArm
:myapp:compileArmDebugNdk
make.exe: *** No rule to make target
`C:\Projects\MyApp\myapp\build\ndk\arm\debug\obj/local/armeabi-v7a/objs-debug/process/C_\Projects\MyApp\myapp\src\main\jni', needed by `C:\Projects\MyApp\myapp\build\ndk\arm\debug\obj/local/armeabi-v7a/objs-debug/process/C_\Projects\MyApp\myapp\src\main\jni\process.o'. Stop.
:myapp:compileArmDebugNdk FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':myapp:compileArmDebugNdk'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
C:\android-ndk-r9d\ndk-build.cmd NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Projects\MyApp\myapp\build\ndk\arm\debug\Android.mk APP_PLATFORM=android-18 NDK_OUT=C:\Projects\MyApp\myapp\build\ndk\arm\debug\obj NDK_LIBS_OUT=C:\Projects\MyApp\myapp\build\ndk\arm\debug\lib NDK_DEBUG=1 APP_STL=stlport_static APP_ABI=armeabi-v7a
Run Code Online (Sandbox Code Playgroud)
目标路径对我来说很奇怪.gradle生成的makefile如下所示:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := process
LOCAL_CFLAGS := -DANDROID_NDK
LOCAL_SRC_FILES := \
C:\Projects\MyApp\myapp\src\main\jni\process.cpp \
LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\main\jni
LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\arm\jni
LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\debug\jni
LOCAL_C_INCLUDES += C:\Projects\MyApp\myapp\src\armDebug\jni
include $(BUILD_SHARED_LIBRARY) …Run Code Online (Sandbox Code Playgroud) 我正在使用Android Camera2 API来捕获和处理图像.图像处理响应于成功捕获.我遇到的问题是相机捕获了2张图像,我无法更改Camera2Basic示例中的代码以确保只捕获一张图像.通过向ImageSaver.run()方法中添加日志记录代码可以证明该问题Camera2BasicFragment.java
public void run() {
Log.d("Camera2", "Saving image");
ByteBuffer buffer = mImage.getPlanes()[0].getBuffer();
...
}
Run Code Online (Sandbox Code Playgroud)
编辑 - 经过进一步调查后,问题似乎出现在样本的实施中,而不是API的任何基础.在示例中,以下代码跟踪相机的状态更改,
private void process(CaptureResult result) {
switch (mState) {
case STATE_PREVIEW: {
// We have nothing to do when the camera preview is working normally.
break;
}
case STATE_WAITING_LOCK: {
int afState = result.get(CaptureResult.CONTROL_AF_STATE);
if (CaptureResult.CONTROL_AF_STATE_FOCUSED_LOCKED == afState ||
CaptureResult.CONTROL_AF_STATE_NOT_FOCUSED_LOCKED == afState) {
// CONTROL_AE_STATE can be null on some devices
Integer aeState = result.get(CaptureResult.CONTROL_AE_STATE);
if (aeState == null …Run Code Online (Sandbox Code Playgroud) 我在尝试在 Azure Devops Pipeline 中签出具有 git-lfs 支持的存储库时遇到以下身份验证失败:
##[command]git -c http.<url>="AUTHORIZATION: bearer ***" lfs fetch origin 8d51d72484c1b19a2427ed9f7736d410e43a8a29
fetch: Fetching reference 8d51d72484c1b19a2427ed9f7736d410e43a8a29
fatal: could not read Password for '<url>': terminal prompts disabled
batch response: Git credentials for <url> not found.
error: failed to fetch some objects from '<url>/info/lfs'
##[warning]Git lfs fetch failed with exit code 2, back off 5.476 seconds before retry.
Run Code Online (Sandbox Code Playgroud)
该存储库也托管在 Azure DevOps 上,管道配置如下:
jobs:
...
steps:
- checkout: self
lfs: true
persistCredentials: true
Run Code Online (Sandbox Code Playgroud)
它在未启用 lfs 的情况下成功,但仅下载文件指针。它需要什么凭据,我如何提供它们?