应用程序无法安装。安装失败,原因是:'无效的文件:<路径>.apk'。

3

我正在尝试使用Android Studio在Note8上运行应用程序,并在更新app/build.gradle文件中的variant output目录路径后遇到了此问题。我看到了很多类似的问题,但它们的解决方案都没有对我有效。

我使用的是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目录
  • 此外,在我的设备上没有使用相同包名的应用程序。

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


遇到同样的问题。你找到解决方案了吗? - Azizjon Kholmatov
3个回答

0

对于那些仍然遇到这个问题的人,你可以尝试清理、重建和使缓存失效,但可能不起作用。以下是几个尝试的方法:

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

然后同步,这对我有用。


0

您可以尝试以下步骤:

文件 >> 使缓存无效 并勾选两个选项

  • 清除文件系统缓存和本地历史记录
  • 清除版本控制系统日志缓存和索引

然后,

构建 >> 清理项目
构建 >> 重新构建项目

现在可以 运行 您的代码了。


0
如果清理、重建和使缓存失效以及删除应用程序目录中的构建文件夹都不能解决问题, 尝试此方法:
文件 > 设置 > 构建、执行、部署 > 瞬间运行 > 取消选中“启用即时运行以热交换代码”。

谢谢您的回答,但它并不实用,因为Android Studio 3.6没有即时运行功能。他们在新版Android Studio中删除了该选项。 - 003
好的,抱歉。你尝试在不同设备上运行它了吗?模拟器?你的手机有多用户吗? - ahmed nader
不行。我的手机上只有一个用户配置文件。我没有尝试在其他设备上运行它。但是我怀疑,它显示的无效路径属于项目文件夹内的构建目录,这曾经是我的app/build.gradle中构建输出的路径。我已经更新了问题,请看一下。 - 003
你是否正在使用最新的Gradle构建? - ahmed nader
你是指 Gradle 工具版本吗?如果是的话,是的,我使用的是 3.6.4 版本。 - 003
也许尝试使用4.1.0版本? - ahmed nader

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