[android] Android Studio가 Gradle 작업 실행에서 멈추는 문제를 해결하는 방법은 무엇입니까?

프로젝트를 빌드 / 실행하고 정리하려고 할 때 Android Studio (베타) 0.8.6이 멈 춥니 다. 응답은 유지되지만 Gradle : Executing Tasks 메시지가 사라지지 않고 (20 분 이상은 포기할 때입니다) 앱이 실행되지 않습니다.

이것이 내가 시도한 것입니다.

  • 캐시 무효화 / 다시 시작

  • 강제 종료 및 다시 시작

  • 응용 프로그램 (Mac의 경우)에서 제거하고 공식 웹 사이트에서 다시 다운로드하십시오.

여기에 이미지 설명 입력



답변

Android Studio-> Preferences-> Gradle-> 로 이동하여를 선택하여 수정했습니다 Offline work. 아직도 무엇이 잘못되었는지는 모르지만 적어도 지금은 컴파일됩니다.

편집 : 새 Android Studio 버전에서 경로는 File-> Other Settings-> Default Settings-> Build-Excecution-Deployment->입니다.Gradle


답변

질문은 오래된 것 같지만 누군가가 필요할 경우를 대비하여.

최근 Ubuntu 14.04를 새로 설치 한 후이 문제에 직면했습니다 . 운이 좋지 않고 잠시 동안 Google에서 터미널을 확인한 후 libz.so.1누락 된 것으로 밝혀졌습니다 . 그래서 나는 그것을 설치하고 매력처럼 작동했습니다.

여기에 설치 지침 :
libz.so.1 : 공유 개체 파일을 열 수 없습니다.


답변

설정에서 오프라인 작업 활성화

여기에 이미지 설명 입력


답변

Android Studio에서 실행할 수 있도록 AndroidStudioProjects / YourProjectName / gradlew 파일에 실행 모드를 추가해야합니다. Linux 시스템을 사용하는 경우 다음 명령을 사용하십시오. chmod + x gradlew이 명령을 실행하려면 관리 권한이 필요할 수 있습니다. Ubuntu에서는 sudo chmod + x gradlew를 사용하여이를 수행 할 수 있습니다.


답변

이것은 여러 가지 이유로 발생할 수 있습니다. 따라서 정확한 수정을 제공하는 대신 원인을 분리하는 데 도움이되는 몇 가지 단계가 있습니다.

  1. 명령 줄에서 gradle 명령을 실행합니다. 여전히 실패합니까?

    $ ./gradlew myTask

  2. 그렇다면 디버그 플래그로 다시 실행하십시오. 유용한 정보가 있습니까?

    $ ./gradlew myTask --debug

  3. 중단 된 경우 스택 추적을 시도하십시오. 덤프 파일 검색myTask

    $ jps -mv | grep Gradle  <--- be sure to use capital "G"
    2290 GradleDaemon 3.3 -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Xmx2304M -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant
    $ jstack -l 2290 >> dump.txt <--- your process ID will be different
    
  4. Android Studio를 실행할 때만 중단되는 경우 Android Studio에 대한 스레드 덤프 생성 여기에서 자세히 알아보세요 .


답변

제 경우에는 64 비트 Ubuntu 16.04에서 gradle에 32 비트 라이브러리가 누락 된 것 같습니다. 이렇게 sudo apt-get install libstdc++6:i386문제가 해결.


답변

이것은 Google Play API를 종속성에 추가 한 후에 발생했습니다 {}. 여기 에 설명 된대로 설정하는 것과 ./gradlew app:assembleDebug같은 오류가 표시 Dex ID limit reached use multi-dex.되어 최근에 추가 한 종속성을 제거하기로 결정했고 문제가 사라졌습니다.

Google은 또한 동일한 문서에서 Dex ID 수를 최적화하는 기술로 proguard를 사용할 것을 제안합니다.