安装失败,因为:'null'-Android Studio 3.5

Tas*_*mad 53 android android-studio android-studio-3.5

自从遇到APK安装问题以来,我已将Android Studio更新至3.5。这是它显示的唯一日志:

Installation did not succeed.
The application could not be installed: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
Installation failed due to: 'null'
Retry
Run Code Online (Sandbox Code Playgroud)

尝试在真实设备上安装APK时会发生这种情况。如果我从设备上卸载该应用程序,然后重新运行该版本,则它只会安装一次,然后在下一次安装时会不断抛出此错误。它可以在仿真器上正常运行,但是我不能为所有功能使用仿真器。

我尝试过的

  • 删除的Android Studio配置文件。
  • 从项目中删除了Gradle文件。
  • 无效和重置缓存。
  • 清理/重建项目。
  • 寻找类似的问题Stackoverflow(没有匹配我的问题)
  • 全新安装(删除了包括SDK在内的所有文件)Android Studio 3.5

更新资料

我在机器上安装了Linux Mint,并在那里测试了AS 3.5,由于某些原因,即使对于Android 7及更低版本的设备,一切都可以正常工作。

以前的操作系统:Windows 10 1903

当前操作系统:Linux Mint 19.2

我认为这个问题可能起源于Windows计算机。

胡晟昊*_*胡晟昊 61

打开运行/调试配置对话框

编辑您的应用程序>常规>安装选项>安装标志

添加安装标志-r -t

这个标志意味着 adb install -r -t apkpath

屏幕图片

  • -r表示“替换现有应用程序”。-t表示“允许测试包” (6认同)
  • 如果是 Windows 版本,则设置为“运行”>“编辑配置”。 (3认同)
  • 这绝对有效,这些标记如何工作​​? (2认同)
  • 我猜这个标志意味着“adb install -r -t apkpath”。@TaseerAhmad (2认同)
  • 这个人从哪里来,他是如何想到这个解决方案的?给他一枚奖章! (2认同)
  • 不为我工作!:(请看我的问题。它与您的问题有些不同。/sf/ask/4043932511/ #57770776 (2认同)

moh*_*hax 9

低于API 26(Android 8)的设备会在Android Studio中发生此问题。这是由替换(InstantRun现在称为ApplyChanges)引起的。

似乎只有两种方法可以在下一次更新中对其进行修复。

  1. 继续API>=26
  2. 每次更改代码后,将编辑从run configuration更改为,反之亦然。如果我正确理解,这将正确重建应用程序和解决方法错误。deployAPKApp bundle

当然,有一个选项可以在从AndroidStudio运行应用程序之前从设备手动删除应用程序。


Hou*_*lla 8

您需要在首选项中禁用“使用libusb后端”->调试器 在此处输入图片说明


hap*_*ing 7

构建 > 清理项目对我来说是它的工作。在更改其他设置之前先试试这个。

快乐编码:)


M. *_*sha 6

阅读有关Apply Changes 的发行说明后,我终于在这里找到了解决方案:https ://developer.android.com/studio/run#apply-changes-run-fallback

为应用更改启用运行回退

单击“应用更改并重新启动活动”或“应用代码更改”后,Android Studio 会构建新的 APK 并确定是否可以应用更改。如果无法应用更改并导致应用更改失败,Android Studio 会提示您再次运行应用程序的运行图标。但是,如果您不希望每次发生这种情况时都收到提示,则可以将 Android Studio 配置为在无法应用更改时自动重新运行您的应用。

要启用此行为,请按照下列步骤操作:

  1. 打开“设置”或“首选项”对话框:
    • 在 Windows 或 Linux 上,从菜单栏中选择文件 > 设置。
    • 在 macOS 上,从菜单栏中选择Android Studio > 首选项。
  2. 导航到“构建、执行、部署”>“部署”
  3. 选中复选框可为任一“应用更改”操作启用自动运行回退。
  4. 单击“确定”。

Linux 上运行的截图


San*_*cho 5

对我来说,卸载应用程序或清理项目都可以“解决”问题。为了减少挫败感,我添加了干净的工作来调试构建类型,如下所示:

buildTypes {
    ...
    debug {
        clean
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)