我遇到了通过USB调试Android ADB的问题.
使用Macbook Air 2013并尝试连接Nexus 6开发电话.
在MAC Android Studio上安装了android最新的sdk.
当我做
adb kill-server
adb devices
Run Code Online (Sandbox Code Playgroud)
我明白了:
adb I 661 9881 usb_osx.cpp:259] Found vid=18d1 pid=**** serial=*****
adb I 661 9881 usb_osx.cpp:259]
adb E 661 9881 usb_osx.cpp:331] Could not open interface: e00002c5
adb E 661 9881 usb_osx.cpp:265] Could not find device interface
Run Code Online (Sandbox Code Playgroud)
因此,它发现设备,供应商ID,产品ID和串行匹配我在Nexus 6的系统信息中找到的内容.
我在网上找到以下建议后尝试了 - 但没有成功 - 以下解决方法:
在电话上禁用和重新启用调试模式,还可以在USB配置之间切换充电,MTP,PTP,RNDIS,音频源,MIDI,始终确保对Mac的RSA指纹进行授权
关闭Android Studio/DDMS,通过'kill-server'命令杀死adb以及通过Apple活动监视器终止进程
以root身份运行adb
重启Mac几次
重新启动Nexus 6
完全重新安装Android SDK
与其它调试启用Android设备尝试(三星Galaxy Tab,这里还发现了亚行正确的设备信息,但不能访问与同样的错误接口)
尝试使用3种不同的USB电缆,所有电缆最初都附带Android设备
通过谷歌,我了解到错误代码e00002c5意味着该设备已被其他驱动程序使用.
我最近安装了Sophos Home Antivir.认为这可能会阻止ADB打开设备界面,我使用提供的卸载程序完全卸载了Sophos并重新启动了Mac.
任何提示都表示赞赏:
要解决哪些步骤?
因为e00002c5似乎是另一个驱动程序正在使用该设备的明确指示,如何找出哪个进程以及如何阻止它执行该操作
我有一个相机应用程序,锁定到景观.需要时,我会旋转从中获取的原始字节,onPreviewFrame()并使用它们对视频进行编码.
然而,这种方法在Nexus 5X和6设备中失败了,因为它们的反向传感器让我倒置了帧.
随着旋转的预览会不会帮助我在这种情况下,描述在这里:
这不影响在onPreviewFrame(byte [],Camera)中传递的字节数组的顺序
我想知道是否有任何方法可以检测相机传感器是否反转和/或原始帧是否颠倒,因此在旋转时会增加额外的校正.
嗨,我正在尝试使用视频文件制作背景活动.下面发布的解决方案适用于大多数设备,但nexus 6 Android 5.1除外.视频正在运行,已缩放但未裁剪,因此不保留纵横比.
使用Galaxy Note,HTC One m7,Xperia Z3,Nexus 5进行测试.
这是代码:
public class MainActivity extends ActionBarActivity implements SurfaceHolder.Callback, OnClickListener
{
private static final int VIDEO_START_HACK_DELAY = 0;
private static final String BG_VIDEO_PATH = "/raw/construction";
private SurfaceView mSurface;
private Button mTour, mLogin;
private MediaPlayer mMediaPlayer;
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start_main);
setupUI();
}
private void setupUI()
{
mMediaPlayer = new MediaPlayer();
mSurface = (SurfaceView) findViewById(R.id.surface);
SurfaceHolder holder = mSurface.getHolder();
holder.addCallback(this);
mTour = (Button) …Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要捕获屏幕到位图进行传输的应用程序.我正在尝试使用新的Android 5.0 android.media.projection API来进行屏幕捕获.
此API的工作流程最终会调用
mediaProjection.createVirtualDisplay("Test Screen", WIDTH, HEIGHT, DPI,
DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, surface, null, null);
Run Code Online (Sandbox Code Playgroud)
在我最初尝试捕获时,我从SurfaceView中获取了表面对象.这工作正常; 最终结果是在屏幕上绘制的显示器的微小副本(导致Droste效果)
我认为这个功能几近完成,但我发现 SurfaceViews(从代码的角度来看)是不可读的; 你不能从他们那里得到一个位图.
在寻找其他解决方案时,我遇到了这个与我的目标非常相似的问题,并且在该线程中建议使用ImageReader而不是SurfaceView来获取传递给createVirtualDisplay API调用的Surface.
但是,当我更改我的代码以使用ImageReader代替SurfaceView时,我得到运行时logcat错误(没有异常),并且永远不会调用ImageReader的回调函数.createVirtualDisplay调用还返回一个看似有效的VirtualDisplay对象.
这是logcat:
9230-9270/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: createGraphicBuffer failed
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? …Run Code Online (Sandbox Code Playgroud) 尝试使用OpenSL ES在运行Android 6.0.1的Nexus 6上实现低延迟流式音频播放时,我遇到了一个奇怪的问题.
我最初的尝试似乎遇到了饥饿问题,所以我在缓冲区完成回调函数中添加了一些基本的时序基准.我发现,如果我在应用程序打开时不断点击屏幕,音频播放效果很好,但如果我将其单独放置几秒钟,则回调开始需要更长时间.我能够一致地重现这种行为.有几点需要注意:
我看到的症状看起来真的像操作系统在与手机不交互几秒钟之后就取消了音频线程的优先级.这是正确的吗?有什么方法可以避免这种行为吗?
所以我目前正在学习如何开发Android应用程序.我正在制作我的第一个应用程序,我没有错误,但我的模拟器不会运行我的应用程序.它停留在"等待目标设备上线".我对什么是错的感到困惑,因为它以前有用过.我完全重新安装了一切,它仍然无法正常工作.不知道该怎么办.
我收到以下错误:
java.lang.IllegalArgumentException: 找不到可用的相机。
当调用和实例方法 ProcessCameraProvider.bindToLifecycle() 时。通过搜索“------ Code Crashes Here --------------”在下面的代码上下文中看到这一点。
如何防止此错误和随后的应用程序崩溃?更具体地说,我如何确保 CameraSelector 可以返回 Nexus 6 的相机实例?
此调用中使用的 CameraSelector 似乎有问题。如果我在 bindToLifecycle 行上设置一个断点,并调试到该点并为`cameraProvider.hasCamera(cameraSelector) 添加一个监视,它将返回 false。也许这不会在调用 bindToLifecycle 方法之前返回 true。如果是这样,我如何验证 cameraSelector 对象已成功创建(成功意味着它指向实际的相机对象)?
在创建 cameraSelector 对象时,我在构建器中使用了requireLensFacing方法,所以看起来 Nexus 6 硬件没有用这些 LENS_FACING_BACK 或 LENS_FACING_FRONT 标记任何东西,因此不返回任何相机实例?我理解正确吗?
我应该注意,当在 Nexus 5 上运行完全相同的代码时不会发生此错误,这就是为什么我倾向于认为这是一个硬件问题。
我也试过 LENS_FACING_FRONT int,但有同样的错误。如果我完全删除 requireLensFacing 构建组件,则会收到不同的错误:
java.util.NoSuchElementException
package jp.oist.cameraxapp;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.camera.core.Camera;
import androidx.camera.core.CameraSelector;
import androidx.camera.core.ImageAnalysis;
import androidx.camera.core.ImageCapture;
import androidx.camera.core.ImageProxy;
import androidx.camera.core.Preview;
import androidx.camera.lifecycle.ProcessCameraProvider;
import androidx.camera.view.PreviewView;
import androidx.core.content.ContextCompat; …Run Code Online (Sandbox Code Playgroud)