小米设备上的失败[INSTALL_CANCELED_BY_USER]

21
我昨天买了一台小米红米4x,但无法在该设备上调试我的应用程序。已经在设备中启用了开发人员选项,打开了USB调试,安装了USB驱动程序,并接受了第一次将其插入USB端口时弹出的RSA调试指纹。在Visual Studio的设备列表中选择“小米红米4X(Android 6.0 - API 23)”,单击“运行”(或部署),会看到此错误:
>Detecting installed packages...
>Removing old runtime: Mono.Android.DebugRuntime...
>Target device is arm64-v8a.
>Installing the Mono shared runtime (debug - 1505313604)...
>10% ... 3520kb of 35035kb copied
>20% ... 7040kb of 35035kb copied
>30% ... 10560kb of 35035kb copied
>40% ... 14016kb of 35035kb copied
>50% ... 17536kb of 35035kb copied
>60% ... 21056kb of 35035kb copied
>70% ... 24576kb of 35035kb copied
>80% ... 28032kb of 35035kb copied
>90% ... 31552kb of 35035kb copied
>100% ... 35035kb of 35035kb copied
> Deployment failed
>Mono.AndroidTools.InstallFailedException: Unexpected install output:   pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk
>Failure [INSTALL_CANCELED_BY_USER]
>
>   at Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName)
>   at Mono.AndroidTools.AndroidDevice.<>c__DisplayClass94_0.<InstallPackage>b__0(Task`1 t)
>   at System.Threading.Tasks.ContinuationTaskFromResultTask`1.InnerInvoke()
>   at System.Threading.Tasks.Task.Execute()
>Unexpected install output:     pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk
>Failure [INSTALL_CANCELED_BY_USER]
>
>Creating "obj\Debug\upload.flag" because "AlwaysCreate" was specified.
>Creating directory "obj\.cache\".
>Done building project "MyTestApp.csproj".
>Build succeeded.
>An error occured. See full exception on logs for more details.
>Unexpected install output:     pkg: /data/local/tmp/Mono.Android.DebugRuntime-debug.apk
>Failure [INSTALL_CANCELED_BY_USER]
>
>
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========

这种情况发生在我所有的应用程序中,只有在小米设备上出现。在其他品牌的设备和模拟器中,调试工作正常。
仅补充一下,我遇到了这个问题http://en.miui.com/thread-544718-1-1.html,即使按照说明操作,我也无法使“通过USB安装”起作用。
是否有任何解决方案可以在此设备上进行调试?

你应该查看你的设备,因为如果你不同意继续安装apk,小米会询问你是否要安装apk,如果你不同意,它将失败。 - CoXier
小米在安装前会询问...如果您没有及时按下“是”或“确定”,那么它会自动取消。 - Ashish John
@Rafael de Andrade,您尝试过LiJianixn和Ashish John提供的建议吗?如果问题仍然存在,请随时告诉我们。 - Weiwei
大家好,感谢你们的帮助,但是我发现问题完全与“通过USB安装”选项有关,MIUI不允许我激活。经过多次尝试和设备重启,它最终激活了并且部署同时进行。我会将这个作为答案包括在内,以帮助其他遇到同样问题的人。 - Rafael de Andrade
@Rafael de Andrade,由于问题已经解决,您可以将您的解决方案标记为答案。感谢您的分享。 - Jack Zhai
9个回答

33

只是为了帮助有同样问题的人:这完全与开发者模式中“通过 USB 安装”选项有关,MIUI 不让我激活。经过多次尝试和设备重启,最终它激活了,部署同时也成功了。


是的,我也遇到了同样的问题。我的小米红米Note 4在重启一次并尝试三次启用“通过USB安装”后,第三次终于成功激活了。 - FingerSmith
1
有没有一种方法可以在没有MIUI帐户的情况下激活此选项?当我始终处于登录状态时,我不想向他们发送用户数据... - UNeverNo
@UNeverNo,你找到解决方案了吗?我也遇到了同样的问题。谢谢。 - Gauranga
@Gauranga:很遗憾,不行。 - UNeverNo

17

在MIUI中,由于某些原因,UI会进行一些优化,但是通过Android Studio在手机上运行应用程序时,这会导致错误。我们需要停止这种优化:

前往->设置->打开开发人员选项(希望您知道)->进入开发者选项-关闭MIUI优化

希望这对你有用。;)


这个方法可行,我只用了一次。第一次调试后,我又重新打开了这个选项,并且在此之后继续进行调试,没有遇到任何问题。 - Ricardo Dias Morais

7

请按照以下步骤操作:

  1. 在设置>更多设置>开发者选项>USB安装(位于调试部分)中启用通过USB安装 --> 需要激活小米账户。

  2. 部署应用程序。

  3. 等待几秒钟,您的小米手机上将显示一条通知:通过USB安装,然后您需要点击安装,允许应用程序部署到您的设备上。您可以选择记住此选项。


2

下午好,

我遇到了同样的问题,我的手机是小米8青春版。我通过禁用MIUI优化来解决这个问题。

我还没有在其他型号/品牌上进行测试以查看是否有效。


2
在小米设备的开发者选项中,点击通过 USB 安装。它可以在不重新启动的情况下工作。

2

我通过关闭MIUI优化来解决了这个问题。如果你在开发者选项中没有找到MIUI优化选项,只需要多次点击重置默认值选项即可。


0

搜索通过USB安装并选择安全选项,可能您的应用程序被阻止安装:

enter image description here


0
我之前也遇到了POCO F1的同样问题。我发现只要插入SIM卡,就可以启用USB调试功能。

-1

1
调试不需要OEM解锁。此操作可能会导致安全问题。 - Sandeep Yohans
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。- 来自审查 - Hypenate
@连字符 这种将图片链接的方式不符合“仅链接”的要求。 - Yunnosch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接