Android Studio 拒绝在我的手机上构建和安装任何应用

标签 android android-studio redmi-device

自从我将 android studio 更新到 3.5 后,我一直无法在我的多个实体手机(Redmi Note 4 和 OnePlus6)上运行任何应用程序。该应用程序未安装在其中任何一个上。但它安装在相同版本(Android 24 和 Android 28)的模拟设备上,所以这不是代码问题。

此外,我尝试构建存储在 Git 上的应用程序的先前版本,但现在 Android Studio 无法构建显示“链接错误”的应用程序。虽然相同的代码版本在几个月前运行良好(在 android studio 更新之前)。这就是为什么我认为问题出在 Android Studio 而不是代码...

我尝试过的事情

  1. 禁用即时运行(在 Android Studio >=3.5.1 中不再是一个选项)

  2. 启用 USB 调试,使用“传输文件”模式而非“充电设备”模式的设备进行连接

  3. 关闭MIUI优化并重启

  4. 卸载应用并重新安装

  5. 构建 apk,将 apk 传输到设备,然后尝试安装(这适用于 OnePlus 6 但不适用于 Redmi Note 4)

我尝试过的应用程序目标 Sdk >=27,并使用 androidx。但是,我尝试返回到该应用程序的先前版本,该版本未使用 androidx(并使用了旧版支持库),但仍然出现相同的错误。

我的系统是Ubuntu 18.04,当前Android studio版本是3.5.3

我遇到的错误包括:

  • INSTALL_FAILED_USER_RESTRICTED
  • 未找到设备

更新: - 刚刚尝试在 OnePlus6 上安装,也没有安装。之前我只测试过 Redmi Note 4。 - 尝试卸载并重新安装应用程序,构建 apk 和 在手机上传输然后手动安装。 - 这是跨项目发生的,至少对于 Redmi Note 4 是这样。我在我的一个类(class)项目中尝试过,相同/相似的问题。

我的猜测是 Android Studio 更新和最近从“遗留”支持库迁移到 androidx 的问题

最佳答案

我是如何解决的:

在设置 -> 构建、执行和部署 -> 调试器中禁用“使用 libusb 后端”

Screenshot of the settings page where we need to disable "use libusb backend"

抱歉 Android Studio 3.5 的诅咒

我是如何找到解决方案的:

我通过转到“帮助”->“压缩日志并在文件中显示”来检查 android studio 的日志。在打开的文件夹中,我看到了名为 adb.1000.log 的日志(因为 adb - android 调试桥,处理与设备的通信)。在我看到的最后几行中——“读取传输失败:LIBUSB_TRANSFER_CANCELLED”。我读了here关于libusb的选项

关于Android Studio 拒绝在我的手机上构建和安装任何应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59325896/

相关文章:

java - Android studio : Unable to detect adb version, 退出值 0xc0000135

android - 自定义布局管理器滚动/动画

javascript - 带有 javascript 调用的 Img 在 ipad 上无法运行?

android - 如何解决 Gfx 开发内存的使用问题

java - R.java 既不使用 Eclipse 也不使用 Android Studio 生成

android - 无法解析方法 "getMapAsync"

java - 使用 AsyncTask 在后台创建一个 GLSurfaceView

android - 无法解析 ':app@debug/compileClasspath' : Could not resolve com. android.support :design:26. 1.0 的依赖项

Android Studio无法检测到红米5A