【问题标题】:Android Studio 3.1 "Run" not compiling codeAndroid Studio 3.1“运行”不编译代码
【发布时间】:2018-09-05 10:50:46
【问题描述】:

当我尝试安装应用时,有两种可能:

  1. 当我运行app 时,从构建文件夹安装现有的 APK
  2. 执行clean build后安装APK

对于构建文件夹中的现有 APK,该应用运行良好。但是当我使用Build -> Clean Project 清理项目,然后尝试运行app(即将应用程序安装到我的模拟器或物理设备)时,它显示错误:

APK 文件 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk 在磁盘上不存在。

注意:此行为仅在我清理项目时发生,而不是在我的构建文件夹中已有预构建的应用 APK 时发生

我提到过:The APK file does not exist on disk 但我的意思是,当我们通常在清理项目后运行应用程序时,我们永远不需要构建它,如果构建文件夹中不存在 APK,它自动生成并安装最新的。

我尝试过的事情:

  1. 在构建文件夹中存在 APK 文件时运行应用程序(运行良好)
  2. 运行Clean Project -> 运行应用程序(预计将构建项目并安装应用程序,但显示上述错误!)
  3. 在做Invalidate Caches/Restart之后清理和运行应用程序的过程相同

【问题讨论】:

  • Build -> Clean Project->Rebuild Project
  • @IntelliJAmiya 就像你说的那样,但这里的重点是,当我重建项目时,它肯定可以工作,但是如果我运行应用程序,它不应该生成 APK 并以同样的方式工作吗?
  • 查看此链接以获得答案:stackoverflow.com/a/49508278/3806413

标签: android android-studio android-gradle-plugin


【解决方案1】:

清理您的项目并再次运行

如果不行的话

  • 第 1 步关闭您的项目。
  • 第 2 步 转到您的项目文件夹并删除所有构建文件夹。
  • 第 3 步运行您的项目。

【讨论】:

  • 也试过关闭项目,关闭Android Studio并执行无效缓存/重启但没有运气,清理应用程序后,它总是显示错误,奇怪的是,如果项目被构建,它总是运行build 文件夹中的同一个 APK,没有进行任何更改。
  • 您尝试过第 2 步吗?转到您的项目文件夹并删除所有带有模块构建文件夹的构建文件夹。
  • 是的,我也删除了构建文件夹,没有任何效果!
  • desable instan run and do all agiain.
  • 你找到解决方案了吗?
【解决方案2】:

APK 文件 /Users/MyApplicationName/app/build/outputs/apk/app-debug.apk 没有 存在于磁盘上。

可能是错误。您应该更改设置。

您应该打开 Run/Debug Configurations dialog 并选择 Run > Edit Configurations

确保 Gradle-aware Make 已添加到 TaskList 中。如果没有,请点击 + 并从选项中进行选择。

注意

如果你收到

生成依赖项拆分 APK 时在 0 毫秒内完成关闭错误 com.android.ide.common.process.ProcessException:执行失败 适应于 com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:809) 在 com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:797) 在 com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp(InstantRunSplitApkBuilder.java:373)

您应该取消选中 INSTANT RUN

文件--设置--构建、执行、部署--即时运行和 取消选中启用即时运行

【讨论】:

  • 是的,它将在重建中工作,因为配置已经设置为即时运行。但不适用于干净的构建和运行项目组合。
  • @SaguKacha 确实。
  • 不工作:关闭在 0 毫秒内完成 生成依赖项拆分 APK com.android.ide.common.process.ProcessException 时出错:无法在 com.android.builder.core.AndroidBuilder.processResources 处执行 aapt( AndroidBuilder.java:809) 在 com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:797) 在 com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp(InstantRunSplitApkBuilder.java:373)跨度>
  • @android51130 你的buildToolsVersion 是什么??
  • @IntelliJAmiya 26.0.2
【解决方案3】:

我有你的问题的解决方案。

Android StudioTwitter 上也证实了这一点:https://twitter.com/androidstudio/status/981914632892960768

  1. 如下编辑您的应用配置。

  1. 在这里您可以看到您的应用配置如下。

  1. 在启动前配置中缺少 Gradle-aware make 属性。你可以在这里看到。

  1. 请通过这种方式添加这个 Gradle-aware Make 属性。点击 + 图标并选择 Gradle-aware Make,如本屏幕所示。

  1. 您可以在不编写任何任务的情况下添加它,只需按 OK 按钮,任务就会被添加,现在应该如下所示。现在应用更改并运行您的应用程序。

它将在新的 Android Studio 3.1 问题中解决这个旧的 apk 安装问题。

注意:此问题已在新的 Android Studio 3.1.1 稳定版中得到解决。

【讨论】:

  • 看来,如果您更改代码并运行应用程序,那么它并不是在构建应用程序,而是在运行旧代码。这个解决方案对我有用。
  • 不工作:关闭在 0 毫秒内完成 生成依赖项拆分 APK com.android.ide.common.process.ProcessException 时出错:无法在 com.android.builder.core.AndroidBuilder.processResources 处执行 aapt( AndroidBuilder.java:809) 在 com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:797) 在 com.android.build.gradle.internal.transforms.InstantRunSplitApkBuilder.generateSplitApkResourcesAp(InstantRunSplitApkBuilder.java:373)跨度>
  • @android51130 它对我有用。您能否检查一下您项目的其他 gradle 配置。我认为这是个问题。
  • @android51130 是的,没错。目前在我的配置中即时运行已关闭。所以这个解决方案对我有用。
  • 我在最新的 AS 4.2 Canary 版本中长期存在这个问题。这解决了这个问题,谢谢。
【解决方案4】:

此问题已在 Android Studio 3.1.1(2018 年 4 月)版本中得到修复。 将您的 android studio 更新到 3.1.1。

这里有重新分级问题细节、原因和解决方案的解释:

在某些情况下,当在Android Studio 3.0 was opened for the first time in Android Studio 3.1, the Gradle-aware Make task was removed from the Before launch area in Run/Debug Configurations. 中创建项目时,结果是在单击“运行”或“调试”按钮时项目没有构建,进而导致部署错误的 APK 和使用 Instant Run 时崩溃等故障。

为了解决这个问题,Android Studio 3.1.1 adds the Gradle-aware Make task to the run configuration for projects that are missing this entry.这个修改发生在项目加载时第一次Gradle同步之后。

官方发布说明:https://developer.android.com/studio/releases/index.html#3-1-0

【讨论】:

    【解决方案5】:

    对于所有看到这个并在 Android Studio +4.0.0 上遇到问题的人:

    Run -> Edit configurations... -> disable check box (Allow parallel run)
    

    这可能会稍微减慢您的构建速度,但比多次运行应用程序要好。

    【讨论】:

      猜你喜欢
      • 2021-03-05
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多