【问题标题】:The application could not be installed. Installation failed due to: 'Invalid File: <path>.apk无法安装应用程序。安装失败,原因是:'无效文件:<path>.apk
【发布时间】:2020-07-25 22:46:58
【问题描述】:

我正在尝试使用 Android Studio 在 Note8 设备上运行该应用程序,并在更新 app/build.gradle 文件中的变体输出目录路径后遇到此问题。我见过很多类似的问题,但他们的解决方案都不适合我。

我在 Android studio 3.6.+ 和 note 8 设备上,另外有趣的是它显示的路径当前不存在,它是我的 app/build.gradle 文件中 variant.output 的旧路径。

错误开始后的更改:

applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def outputDir = new File("${project.buildDir.absolutePath}/outputs/apk")
        def outputFileName = "DEMO-${variant.flavorName}-Build-${versionName}.apk"
        variant.packageApplicationProvider.get().outputDirectory = new File("$outputDir")
        output.outputFileName = outputFileName
    }
}

更改前:outputDir 是显示文件丢失错误的位置。

def outputDir = new File("${project.buildDir.absolutePath}/outputs/apk/${variant.flavorName}/${variant.buildType.name}")
def outputFileName = "DEMO-${variant.flavorName}-${variant.buildType.name}-${versionName}.apk"
        

到目前为止我尝试过的事情: 我尝试过清理和重建项目,我尝试过无效的缓存并重新启动,我尝试过删除 .idea、cache 和 .build 目录,而且我的设备中还没有安装具有相同包名的应用程序。

有人可以提出可能的原因以及如何解决它吗?

【问题讨论】:

  • 有同样的问题。您找到解决方案了吗?

标签: android gradle build.gradle


【解决方案1】:

如果清理、重建和失效缓存以及删除应用目录中的构建文件夹不起作用

试试这个

文件 > 设置 > 构建、执行、部署 > 即时运行 > 取消选中“启用即时运行以热交换代码”

【讨论】:

  • 感谢您的回答,但它没有用,因为 Android Studio 3.6 没有即时运行功能。他们在新的 Android 工作室中删除了该选项。
  • 好吧抱歉,你试过在不同的设备上运行它吗?模拟器?您的手机上有多用户吗?
  • 没有。我的手机上只有一个用户配置文件。我没有尝试在不同的设备上运行它。但我的疑问是;它显示的无效路径属于我在项目文件夹中的构建目录,这曾经是我的 app/build.gradle 中构建输出的路径。我已经更新了问题看看。
  • 您使用的是最新的 Gradle 版本吗?
  • 你的意思是 gradle 工具版本然后是的我在 3.6.4
【解决方案2】:

对于那些可能仍然遇到此问题的人,您可以清理、重建和无效缓存不起作用,尝试几件事,

  1. 将您的 gradle 构建版本升级到最新版本。
  2. 如果您的代码是 kolin,请检查用于使用 Gradle 构建的 Kotlin 版本是否与捆绑到 IDE 插件中的版本相同。升级到捆绑到 IDE 中的那个

然后同步,这对我有用。

【讨论】:

    猜你喜欢
    • 2020-01-06
    • 2020-04-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多