Android Studio gradle을 구축하는 데 시간이 너무 오래 걸립니다.
예전에는 안드로이드 스튜디오 프로젝트를 더 빨리 만들었지만 지금은 구축하는 데 시간이 오래 걸립니다.지연의 원인이 무엇인지 알고 계십니까?https://stackoverflow.com/a/27171878/391401 을 시도해 보았지만 효과가 없었습니다.빌드를 방해할 수 있는 안티바이러스가 실행되고 있지 않습니다.제 앱은 크기도 그렇게 크지 않고(약 5MB) 몇 초 안에 빌드되곤 했는데 무엇이 바뀌었는지 잘 모르겠습니다.
10:03:51 Gradle build finished in 4 min 0 sec
10:04:03 Session 'app': running
10:10:11 Gradle build finished in 3 min 29 sec
10:10:12 Session 'app': running
10:20:24 Gradle build finished in 3 min 42 sec
10:28:18 Gradle build finished in 3 min 40 sec
10:28:19 Session 'app': running
10:31:14 Gradle build finished in 2 min 56 sec
10:31:14 Session 'app': running
10:38:37 Gradle build finished in 3 min 30 sec
10:42:17 Gradle build finished in 3 min 40 sec
10:45:18 Gradle build finished in 3 min 1 sec
10:48:49 Gradle build finished in 3 min 30 sec
10:53:05 Gradle build finished in 3 min 22 sec
10:57:10 Gradle build finished in 3 min 19 sec
10:57:11 Session 'app': running
2022년 업데이트; Google 제거"Offline work
;";
그들은 "라고 덧붙였습니다.Donwload external annotations for dependencies
선택 한 속도 수 .".
정답.
Android Studio에서 파일 -> 설정 -> 빌드, 실행, 배포 -> 빌드 도구 -> 그래들로 이동합니다.
(맥의 경우) Android Studio -> 환경설정...-> 빌드, 실행, 배포 -> 빌드 도구 -> 그래들
'Global Gradle settings'에서 'Offline work'를 확인합니다.
참고: Android 스튜디오의 최신 버전에서는,View->Tool Windows->Gradle->Toggle button of online/offline
그래들 제작 시간을 90% 단축할 수 있습니다.
그라들에 새로운 종속성을 추가한 경우 오프라인 작업을 선택 취소해야 합니다. 그렇지 않으면 그라들이 종속성을 해결할 수 없습니다.해결을 완료한 후 오프라인 작업을 확인하여 더 빠른 빌드를 수행할 수 있습니다.
Google Play 서비스를 사용하는 경우 Gradle 빌드 스크립트에서 이 서비스를 사용하지 않는지 확인합니다.
compile 'com.google.android.gms:play-services:8.3.0'
당신의 앱이 실제로 사용하고 있는 구글 API들만 사용하세요.사용하는 것이 Google 지도뿐이라면 다음을 사용합니다.
com.google.android.gms:play-services-maps:8.3.0
이렇게 했을 때 컴파일 시간이 2분에서 25초 정도로 늘었습니다.선택적으로 컴파일할 수 있는 Google api 목록은 다음을 참조하십시오.
https://developers.google.com/android/guides/setup
그라들을 만드는 쉽고 최선의 방법을 찾았습니다.
앱으로 이동 >> gradle.properties를 열고 줄 몇 개 변경 [#제거]
그렇지 않으면 당신은 내 아래의 토막을 복사할 수도 있습니다.
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx2048m -XX:MaxPermSize=512m
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
아까는 거의 2-3분이 걸리는데 지금은 5-6초밖에 걸리지 않습니다.
위의 시나리오에서 나의 맥머신은 8GB의 램을 가지고 있어서 그래들을 위해 4GB를 할당했습니다.
이유를 찾았습니다!!Android Studio에 프록시 서버가 설정되어 있어 서버에 연결할 수 없는 경우에는 구축하는 데 시간이 오래 걸립니다. 아마도 프록시 서버에 연결하려고 시도하다가 시간 초과를 기다리는 것일 수 있습니다.프록시 서버 설정을 제거하면 정상적으로 작동합니다.
중: :File > Settings > Appearance & Behavior > System settings > HTTP Proxy
Android Studio에서는 버전 3.6 이상에서 Gradle의 오프라인 모드를 전환할 수 있는 새로운 위치가 있습니다. Gradle의 오프라인 모드를 활성화하거나 비활성화하려면 다음과 같이 하십시오.
하려면 Gradle 의를 선택합니다.View > Tool Windows > Gradle
메뉴판에서 맨 위 창의 맨 위 막대를 클릭합니다를 클릭합니다.Toggle Offline Mode
(근접 설정 아이콘)
아이콘상에서 조금 헷갈리긴 하지만 어쨌든 토글버튼이 강조되면 오프라인모드가 활성화됩니다 :)
이 단계를 수행하면 작업 속도가 10배 빨라지고 빌드 시간이 90% 단축됩니다.
먼저 gradle.properties라는 이름의 파일을 다음 디렉터리에 만듭니다.
/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)
다음 행을 파일에 추가합니다.
org.gradle.daemon=true
org.gradle.parallel=true
Java 8 기능을 활성화하면 빌드 속도가 현저히 저하됨
으르렁거리는
jackOptions {
enabled true
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
}
위의 행을 삭제한 후 몇 초 안에 빌드됩니다.
프로젝트 관리자의 답변
우리는 지금 Jack에게 빌드 시간이 문제가 되고 있다는 것을 알고 있습니다.2.4 Gradle 플러그인은 점진적인 빌드를 위해 상당한 개선이 되어야 합니다.
현재 내가 찾을 수 있는 최신 Gradle 버전은 2.3.0-beta4입니다.
권장 읽기:그래들 빌드에 주당 5시간을 절약하는 방법!
이 훌륭한 게시물에 따르면 다음 사항을 최적화하기 위해 노력해야 합니다.
- 그라들 데몬
- 병렬 프로젝트 실행
- 요청 시 프로젝트 구성
- 모듈이 비쌉니다...
@AndroidDev 솔루션은 저에게 효과가 있었습니다.저는 립 전체를 그라들에 포함시켰습니다.
compile 'com.google.android.gms:play-services:8.4.0'
문제를 해결하기 위해 바꿉니다.4분에서 1분까지.
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
Thnx
인터넷 연결을 확인합니다.인터넷 속도가 매우 느릴 경우 그라들 빌드를 구축하는 데도 오랜 시간이 걸릴 것입니다.와이파이 인터넷 연결을 다른 좋은 속도로 변경해서 확인합니다.이제 빌드 시간은 정상입니다.다른 솔루션으로 이동하기 전에 이 방법을 사용해 보십시오.누군가는 다시 설치하거나 설정을 변경하는 잘못된 결정을 내릴 것입니다.도움이 되었으면 좋겠습니다.감사하고 안부 전합니다.
1) 그라들 파일에 새로운 라이브러리 종속성을 추가한 후 빌드 시간이 심각하게 증가했는데, 그 후 멀티덱스를 사용해야 하는 것으로 나타났습니다.멀티덱스를 올바르게 설정하면 빌드 시간이 2-3분으로 증가했습니다.따라서 빌드 시간을 단축하려면 멀티덱스를 사용하지 말고 가능한 한 라이브러리 종속성의 수를 줄입니다.
2) 또한 여기 제안된 것처럼 안드로이드 스튜디오에서 "오프라인 작업"을 가능하게 할 수도 있습니다.빌드를 만들 때마다 라이브러리를 다시 불러오는 것은 아닙니다."오프라인 작업"이 비활성화된 상태에서 느린 연결 또는 프록시/vpn 사용으로 인해 빌드 시간이 느려질 수 있습니다.
3) 구글 서비스 - 여기에 언급된 바와 같이, 전체 번들을 사용하지 않고, 필요한 부분만 사용합니다.
저는 오랫동안 같은 문제에 직면했지만 그라들로 설정을 조정하여 해결했습니다.
1단계: In Module 앱에서 BuildScript에 종속성 추가
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
}
}
2단계: dexOption을 추가하고 다음 heapSize를 부여합니다.
dexOptions {
incremental = true;
preDexLibraries = false
javaMaxHeapSize "4g"
}
3단계: 제품 맛 추가
productFlavors {
dev {
minSdkVersion 23
applicationId = "com.Reading.home"
}
prod {
minSdkVersion 15
applicationId = "com.Reading.home" // you don't need it, but can be useful
}
}
이렇게 하면 빌드 시간이 단축됩니다.
안드로이드 스튜디오 2.0 베타 버전에서는 인스턴트 런(Instant Run)이라는 기능을 출시했습니다.구축 시간을 크게 단축합니다.핵심 개념은 안드로이드 스튜디오는 이미 실행 중인 앱에 작은 변경 사항만 적용한다는 것입니다.
코드에서 변경하는 내용을 핫 스왑, 웜 스왑 및 콜드 스왑의 세 가지 부분으로 구분합니다. 변경 내용이 빌드에 미치는 부하에 따라 변경 내용이 달라집니다.그 후, 이미 실행 중인 앱의 코드를 간단히 교환하면 몇 초 만에 변경 사항이 실행되는 것을 볼 수 있습니다.자세한 내용은 그들의 문서를 참조하세요.
여기서 안드로이드 스튜디오 2.0 프리뷰를 다운로드 받을 수 있습니다.
추신: 이 기능에는 몇 가지 문제가 있습니다.그들은 그것을 서류에 기재해 놓았습니다.설치하기 전에 확인하세요.
- 파일->설정으로 이동-->그레이들-->오프라인 모드로 설정 후 확인
특히 휴대폰을 통해 디버깅을 활발하게 할 때는 이런 문제가 있었습니다. 때로는 27분이 소요되기도 했습니다.저는 다음과 같은 작업을 수행했으며 아래의 설명을 참고했습니다. 하나가 당신에게 도움이 될 수도 있습니다.
- 내 gradle.properties 파일을 변경했습니다(Android 옵션 아래 프로젝트 파일 보기가 있거나 프로젝트 폴더 안에 있는 경우 Gradle 스크립트 아래).컴퓨터에 여유 메모리가 좀 있어서 추가했습니다. 컴퓨터 사양과 Android 스튜디오의 최소 요구 사항(Xmx8000m -XX:MaxPermSize= 5000m)에 따라 마지막에 다른 값을 할당할 수 있습니다.
org.gradle. daemon= true
organ.gradle.주문형 구성=true
org.gradle. parallel= true
Android.enableBuildCache=true
org.gradle. caching= true
org.gradle.jvmargs=-Xmx8000m -XX:MaxPermSize= 5000m -XX:+메모리 부족 시 덤프 발생 -Dfile.encoding=UTF-8
- 이것이 저의 경우 제 문제를 완전히 해결한 것은 아닙니다.따라서 다른 사람들이 제안한 대로 빌드 프로세스를 오프라인으로 만들기 위해 다음과 같은 작업을 수행합니다.
파일 -> 설정/기본 설정 -> 빌드, 실행, 배포 -> 그라들
전역 그라들 설정(하단)
"Offline Work"라는 확인란에 표시합니다.
- 이것은 시간을 상당히 단축시켰지만 불규칙적이었고, 때로는 더 오랜 시간이 경우도 있었습니다.따라서 Instant Run에서 몇 가지 사항을 변경했습니다.
파일 -> 설정/환경설정 -> 빌드, 실행, 배포 -> 인스턴트 실행
선택: 핫 스왑 코드에 대한 인스턴트 실행 사용...
확인: 코드 변경 시 작업 다시 시작...
위의 움직임 또한 불규칙적이어서 저는 제 전화기와 컴퓨터에서 직접 실행되는 프로세스/메모리가 문제가 될 수 있는지 알아보려고 했습니다.여기서 저는 핸드폰과 스토리지에 약간의 메모리 공간을 확보했습니다(98% 활용 - 70%까지 감소). 또한 작업 관리자(Windows)에서도 Android Studio와 Java.exe의 우선 순위를 High로 높였습니다.컴퓨터의 메모리에 따라 이 단계를 신중하게 수행합니다.
이 모든 일이 있은 후 핸드폰으로 디버깅을 활발하게 하는 동안 빌드 시간이 1~2분으로 줄어들기도 했지만 가끔은 급증하기도 했습니다.22~27분이 12초인 프로젝트에서 최고의 기록을 세우며 놀라움을 안긴 해킹을 결심했습니다.:
디버깅을 위해 전화를 연결한 다음 RUN을 클릭합니다.
시작된 후 전화기의 플러그를 뽑습니다. 빌드가 더 빠르게 진행되고 마지막에 이를 나타내는 오류가 표시됩니다. 세션 '앱': APK 설치 오류
전화기를 다시 연결하고 RUN(실행)을 다시 클릭합니다...
대안적으로
만약 내가 디버깅하고 있는 스크립트/기능/메소드가 JAVA-android가 아니라 순수하게 JAVA일 경우(예: JSONARays/J로 API를 테스트하는 것)SONOBjects, 저는 넷빈에서 자바 기능/메소드를 테스트하여 하나의 파일을 컴파일하여 출력을 빠르게 보여주고 안드로이드 스튜디오 파일에서 필요한 변경을 할 수 있습니다.이것은 또한 저에게 많은 시간을 절약해 줍니다.
편집
로컬 스토리지에서 새로운 안드로이드 프로젝트를 생성하려고 했고 이전 프로젝트의 모든 파일을 자바, 레스, 매니페스트, 그라들 앱 및 그라들 프로젝트(최신 그라들 클래스 경로 종속성 포함)로 복사했습니다.이제 15초 이내에 휴대전화를 구축할 수 있습니다.
build.gradle에서 minifyEnabled for debug인 경우 제거합니다.프로젝트에 참여했는데 구축하는 데 2-3분 정도 걸렸습니다.빌드 진행 상황을 살펴본 결과, 이를 범인으로 판단하여 아래 댓글 줄을 삭제하여 문제가 해결되었습니다.
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}//debug{
// minifyEnabled true
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}
Windows OS에서 디스크 사용량 확인...
문제는 이것과 관련이 있을 수 있습니다. 제 경우에는 Windows 8 OS에서 100% 디스크 사용량을 사용했습니다.
특히 윈도우 검색 서비스는 가장 소비가 많은 서비스일 수 있습니다.사용 안 함:
cmd(관리자)
net.exe stop "Windows search"
이 링크를 확인하세요. 디스크 사용량을 100% 해결하고 Windows 성능을 향상시키는 4가지 팁
두 번째로 수행한 작업은 안티바이러스 소프트웨어(AVG 안티바이러스) 제거 {말도 안 되는 소리 같지만 그럴 수밖에 없었습니다.그라들 제작 시간을 최대 40%까지 단축시켰습니다.
가장 먼저 한 것은 오프라인 모드 활성화였습니다(1. 편집기 오른쪽에 있는 그라들 클릭 2. 연결 버튼 클릭으로 토글). 그라들 빌드 시간을 최대 20% 단축시켰습니다.
따라서 이 두 가지를 수행하여 Gradle 구축 시간을 최대 60%까지 단축할 수 있었습니다.
코틀린에서도 같은 문제가 있었습니다.구식 코틀린 런타임 업데이트로 해결되었습니다.
이 게시물에서 Android Studio를 만드는 데 오래 걸리는 이유 - Part 2 여러 가지 팁 중 하나는 "오프라인 모드 활성화"를 권장합니다.
저도 같은 문제가 있었는데, 그라들 빌드도 8시간이나 작동했는데 걱정이 되었습니다.하지만 나중에 build.gradle 파일에서 컴파일 sdk 버전과 최소 sdk 버전을 변경했습니다.
이전 사용자:
android {
compileSdkVersion 25
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.uwebtechnology.salahadmin"
minSdkVersion 9
targetSdkVersion 25
}
새로 만들기(업데이트):
android
{
compileSdkVersion 28
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.uwebtechnology.salahadmin"
minSdkVersion 15
targetSdkVersion 28
}
저 같은 경우는 며칠 동안 연구하고 모든 것을 시도한 끝에 코틀린 버전을 다운그레이드 할 수밖에 없었어요!최신 1.6.20(04/2022)을 사용하고 있었습니다. 1.6.0 버전도 동일하게 사용해 보았습니다. 빌드 안 하기에서 1.5.32로 다운그레이드(26시간 대기하고 계속 실행 중)해야 했습니다. ..
저는 가끔 이 문제에 직면합니다.이 해결책은 저에게 문제 해결책입니다.원스를 한번.먼저 프록시 연결을 확인합니다.둘째, 모든 프로젝트의 현금과 인덱스를 제거합니다.이를 위해서는 아래 주소를 통해 진행해야 합니다.파일 -> 캐시를 무효화한 다음 모든 옵션 항목을 선택한 다음 Invalidate and Restart Button을 선택한 다음 Android Studio를 다시 시작하고 앱을 다시 빌드합니다.유용했으면 좋겠습니다.
제 컴퓨터에 비슷한 문제가 있었습니다.Windows Defender가 Gradle Building의 일부 부분을(를)비활성화했고, 그 후에도 잘 작동했습니다.
언급URL : https://stackoverflow.com/questions/29391421/android-studio-gradle-takes-too-long-to-build
'source' 카테고리의 다른 글
jquery-chosen 드롭다운 사용 안 함 (0) | 2023.09.24 |
---|---|
C++ FAQ의 안전하지 않은 매크로에 대한 설명? (0) | 2023.09.24 |
php 없이 워드프레스 테마를 코딩하는 것이 가능합니까? (0) | 2023.09.24 |
사용자 지정 게시 상태가 나타나지 않음 (0) | 2023.09.24 |
줄의 마지막 글자를 얻는 방법은? (0) | 2023.09.24 |