Сборка Android Studio java.exe приостановлена ​​во второй раз - PullRequest
0 голосов
/ 14 сентября 2018

Использование Android Studio 3.1.4 в Windows 64 Pro.При запуске любого приложения, включая пример проекта, Android Studio второй раз застревает в цикле сборки / запуска.

В диспетчере задач Windows я вижу, что java.exe приостановлен, когда один из потоков процесса ожидаетв сети: ввод / вывод.

Мне приходится убивать java.exe из диспетчера задач Windows каждый раз, когда я создаю / запускаю приложение.

Я пытался выполнить все следующие действия без посторонней помощи:

  • удалено .gradle в моей папке пользователя
  • удалено .AndroidStudio3.1 папка в моей папке пользователя
  • сделать недействительными кэши / перезапустить
  • использовать автономный захватопция
  • отключить мгновенный запуск

Есть идеи, почему это происходит?Кажется, что процесс сборки заходит в тупик сам по себе.Это происходит только во второй сборке / запуске.

Ответы [ 3 ]

0 голосов
/ 07 января 2019

В процессе попытки исправить зависание альтернативной сборки 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 в начало вашего пути

Path=%JAVA_HOME%\bin;...

После этого мои сборки Android Studio больше не зависают и Eclipseполностью работоспособен.

0 голосов
/ 19 апреля 2019

Я использовал Sysinternals ProcessExplorer.В контекстном меню вы можете просто возобновить процесс Java, и сборка будет работать

0 голосов
/ 05 января 2019

Я столкнулся с той же проблемой и пробовал переустанавливать, разные JVM и множество других тактик. В качестве временного решения я изменил сборку Gradle, чтобы создать файл флага, который затем запрашивает отдельный скрипт Powershell и, если он найден, убивает любой работающий процесс Open JDK. Это без сомнения клудж, но он помогает мне оставаться в здравом уме.

Обновите build.gradle (Модуль: приложение), включив в него следующее:

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)

Не красиво, но функционально.

Я не мог вызвать скрипт напрямую из сборки, так как он убивает JVM, которую Gradle использует в данный момент - таким образом, задержка и использование флага.

Я приветствую предложения по улучшению, пока не будет устранена основная причина.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...