【问题标题】:Android Studio build java.exe suspended second time aroundAndroid Studio 构建 java.exe 第二次暂停
【发布时间】:2019-02-19 06:11:09
【问题描述】:

在 Windows 64 Pro 上使用 Android Studio 3.1.4。 在运行任何应用(包括示例项目)时,Android Studio 在构建/运行周期中第二次卡住。

在 Windows 任务管理器中,我看到 java.exe 挂起,它说其中一个进程线程正在等待网络 i/o。

每次构建/运行应用程序时,我都必须从 Windows 任务管理器中终止 java.exe。

我在没有帮助的情况下尝试了以下所有方法:

  • 在我的用户文件夹中删除了 .gradle
  • 删除了我的用户文件夹中的 .AndroidStudio3.1 文件夹
  • 使缓存无效/重新启动
  • 使用离线 gradle 选项
  • 禁用即时运行

任何想法为什么会发生这种情况?似乎构建过程本身就陷入僵局。这只发生在第二次构建/运行时。

【问题讨论】:

  • 嗨 Farid,我遇到了完全相同的问题。你解决了吗?
  • 嗨,Ed,据我所知,目前还没有解决这个问题,除了每次你想在 AS 中重建/运行应用程序时杀死 java.exe。我为它记录了一个错误报告issuetracker.google.com/issues/117145266

标签: android windows android-studio gradle build


【解决方案1】:

我遇到了同样的问题,并尝试过重新安装、不同的 JVM 以及无数其他策略。作为一种临时解决方法,我修改了 Gradle 构建以创建一个标志文件,然后由一个单独的 Powershell 脚本轮询该文件,如果发现会杀死任何正在运行的 Open JDK 进程。毫无疑问,这是一个拼凑,但有助于让我保持清醒。

更新 build.gradle(Module:app) 以包含以下内容:

android {
    compileSdkVersion 28
    ...
    }
    android.applicationVariants.all {
        ant.touch(file:"D:/Build.flg")
    }
}

然后运行以下 Powershell 脚本

do {
    Write-Host "Checking for D:\Build.flg"
    if (Test-Path "D:\Build.flg") {
        Remove-Item "D:\Build.flg"
        Write-Host "Locating Java processes"
        $JavaProcessos = Get-Process java | select Id, processname, Description
        Foreach($Process in $JavaProcessos)
        {
            if($Process.Description -eq "OpenJDK Platform binary") {
                Write-Host "Stopping process " $Process.Id $Process.Description
                Start-Sleep -s 30
                Stop-Process $Process.Id
            }
        }   
    }
    Start-Sleep -s 10
}
While ($true)

不漂亮但实用。

我无法直接从构建中调用脚本,因为它会杀死 Gradle 本身当时正在使用的 JVM - 因此是延迟和标记方法。

我欢迎提出改进建议,直到解决根本原因。

【讨论】:

    【解决方案2】:

    在尝试修复 Android Studio 备用构建挂起的过程中,我损坏了我的 Eclipse/Python 安装。令人惊讶的是,修复 Eclipse 似乎也消除了 Android 构建问题。开始设置正确的 Java 环境变量。

    ⊞Win键并搜索[编辑系统环境变量]。

    然后根据你的JDK安装位置添加/更新以下内容。

    CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib
    JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191
    JDK_HOME=%JAVA_HOME%
    JRE_HOME=%JAVA_HOME%\jre
    

    最后,将 Java bin 添加到路径的开头

    Path=%JAVA_HOME%\bin;...
    

    在此之后,我的 Android Studio 构建不再挂起,Eclipse 功能齐全。

    【讨论】:

    • 我寄予厚望,但这并没有帮助。还有其他想法吗?
    【解决方案3】:

    我使用过 Sysinternals ProcessExplorer。在上下文菜单中,您只需恢复 java 进程,构建就可以工作了

    【讨论】:

      猜你喜欢
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      相关资源
      最近更新 更多