programing

Gradle 및 Android Studio를 통한 앱 구축 및 실행 속도가 Eclipse보다 느림

minimums 2023. 6. 12. 21:14
반응형

Gradle 및 Android Studio를 통한 앱 구축 및 실행 속도가 Eclipse보다 느림

저는 멀티 프로젝트(~10개의 모듈)를 가지고 있는데, 매번 20~30초 정도 걸립니다.Android Studio에서 Run을 누르면 앱을 다시 빌드하기 위해 매번 기다려야 하는데, 이는 매우 느립니다.

Android Studio에서 빌드 프로세스를 자동화할 수 있습니까?아니면 이 과정을 더 빨리 진행하는 방법에 대한 조언이 있습니까?

이클립스에서는 자동 구축 덕분에 에뮬레이터에서 동일한 프로젝트를 실행하는 데 약 3-5초가 걸립니다.

다음은 내 build.gradle 파일(앱 모듈)입니다.

buildscript {
    repositories {
        maven { url 'http://repo1.maven.org/maven2' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':libraries:SharedLibs')
    compile project(':libraries:actionbarsherlock')
    compile project(':libraries:FacebookSDK')
    compile project(':libraries:GooglePlayServices')
    compile project(':libraries:HorizontalGridView')
    compile project(':libraries:ImageViewTouch')
    compile project(':libraries:SlidingMenu')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

하드웨어

죄송하지만, 개발소를 SSD와 수 톤의 램으로 업그레이드하는 것은 아래의 포인트를 합친 것보다 더 큰 영향을 미칠 것입니다.

도구 버전

빌드 성능을 높이는 것이 개발 팀의 주요 우선 순위이므로 최신 GradleAndroid Gradle 플러그인을 사용해야 합니다.

구성 파일

이름이 지정된 파일 만들기gradle.properties적용되는 디렉토리:

  • /home/<username>/.gradle/(Linux)
  • /Users/<username>/.gradle/(Mac)
  • C:\Users\<username>\.gradle(Windows)

추가:

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# The Gradle daemon aims to improve the startup and execution time of Gradle.
# When set to true the Gradle daemon is to run the build.
# TODO: disable daemon on CI, since builds should be clean and reliable on servers
org.gradle.daemon=true

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# https://medium.com/google-developers/faster-android-studio-builds-with-dex-in-process-5988ed8aa37e#.krd1mm27v
org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=512m -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

# Enables new incubating mode that makes Gradle selective when configuring projects. 
# Only relevant projects are configured which results in faster builds for large multi-projects.
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
org.gradle.configureondemand=true

# Set to true or false to enable or disable the build cache. 
# If this parameter is not set, the build cache is disabled by default.
# http://tools.android.com/tech-docs/build-cache
android.enableBuildCache=true

은 Gradle 특성다위배치치로작면동다니합컬로에 합니다.projectRoot\gradle.properties그리고 만약 당신이 그것들을 위치시킨다면 전세계적으로.user_home\.gradle\gradle.properties콘솔 또는 아이디어에서 직접 그라들 작업을 실행하는 경우 적용되는 속성:

IDE 설정

IDE 설정 GUI에서 Gradle-IntelliJ 통합을 조정할 수 있습니다.오프라인 작업(아래 yava의 답변 확인)을 활성화하면 모든 "sync gradle 파일"에서 실제 네트워크 요청이 비활성화됩니다.

IDE 설정

네이티브 멀티덱스

apk 빌드의 가장 느린 단계 중 하나는 Java 바이트 코드를 단일 덱스 파일로 변환하는 것입니다.네이티브 멀티덱스(디버깅 빌드의 경우 minSdk 21만 해당)를 활성화하면 툴링의 작업량을 줄일 수 있습니다(아래 Aksel Willgert의 답변 확인).

종속성

선하다호를 합니다.@aar라이브러리 하위 데이터베이스에 대한 종속성입니다.

mavenCentral, jCenter에서 aar 패키지를 검색하거나 jitpack.io 을 사용하여 github에서 라이브러리를 구축합니다.종속성 라이브러리의 원본을 편집하지 않는 경우 프로젝트 원본을 사용하여 매번 작성해서는 안 됩니다.

안티바이러스

프로젝트 및 캐시 파일을 바이러스 백신 검색에서 제외하는 것을 고려합니다.이것은 분명히 보안과의 트레이드오프입니다. (집에서 이것을 시도하지 마십시오.그러나 분기 간에 자주 전환하면 바이러스 백신이 파일을 다시 검색한 후 그라들 프로세스가 사용할 수 있게 되므로 빌드 시간이 느려집니다(특히 그라들 파일 및 인덱싱 작업이 포함된 Android Studio 동기화 프로젝트).바이러스 백신을 사용하거나 사용하지 않고 빌드 시간과 프로세스 CPU를 측정하여 관련성이 있는지 확인합니다.

빌드 프로파일링

Gradle은 프로파일링 프로젝트를 지원합니다.프로젝트마다 플러그인과 사용자 지정 스크립트의 조합이 다릅니다.사용.--profile병목 현상을 찾는 데 도움이 될 것입니다.

그레이들 업데이트 날짜 검사는 무시할 수 있습니다.

여기에 이미지 설명 입력

1의 경우: Android Studio 1.5로 하십시오. 버전: 이File -> Settings -> Build, Execution, Deployment -> Build tools -> Gradle -> Check Offline work (as shown in image)

~30초 이상에서 ~3초로 감소

이것을 찾기 위해 모든 곳을 검색했고 마침내 우리에게 맞는 해결책을 찾았습니다.빌드 병렬빌사용드경(OSX의우))preferences -> compiler -> gradle -> "Compile independent modules in parallel"와 '활성화하여 을 사용하여 '프로젝트 자동화'를 활성화하면 1분에서 20초로 단축할 수 있습니다. /u/Covalence 덕분입니다.

http://www.reddit.com/r/androiddev/comments/1k3nb3/gradle_and_android_studio_way_slower_to_build/

최근에 새 SSD를 구입하여 Windows에서 Linux로 전환했습니다.이제 빌드 시간이 훨씬 빨라지고 더 이상 번거롭지 않습니다.

이 문서는 일식보다 느린 이유에 대한 질문에 직접적으로 답하지는 않지만, 프로세스가 디스크에 제한되어 있으며 SSD로 업그레이드하는 것은 비용이 많이 드는 솔루션일 수 있음을 보여줍니다.이 문제를 구글에서 검색해서 여기까지 오게 될 사람들이 있을 거라고 생각합니다. 제 경험을 높이 평가할 수도 있을 것입니다.

Android Studio 3.2.1에서 Gradle 빌드 속도 향상

Android Studio에서 빌드가 완료되기를 몇 분 동안 기다리고 있다고 느낀 적이 있습니까?나도.그리고 그것은 꽤 성가신 일입니다.다행히도 이를 개선하기 위해 사용할 수 있는 몇 가지 방법이 있습니다.Android는 빌드에 Gradle을 사용합니다.최신 버전 4.6은 이전 버전에 비해 성능이 크게 향상되었습니다(자세한 내용은 릴리스 노트 참조).

1단계: Gradle 버전 업데이트 이를 수행하는 더 쉬운 방법은 "모듈 설정 열기(당신의 프로젝트) > 프로젝트 구조"로 이동하는 입니다.

여기에 이미지 설명 입력

갱신하다

Gradle 버전 4.6으로 변경 및 Android 플러그인 버전 3.2.1로 변경

여기에 이미지 설명 입력

https://services.gradle.org/distributions/gradle-4.6-all.zip 에서 Gradle Release distributive를 다운로드하여 Gradle 폴더에 복사합니다.

여기에 이미지 설명 입력

마지막 단계는 Settings > Gradle에서 배포를 추가하는 것입니다.

여기에 이미지 설명 입력

적용을 클릭하여 변경사항을 저장하는 것을 잊지 마십시오.

2단계: 프로젝트에 대해 오프라인 모드, Gradle 데몬 및 병렬 빌드를 활성화합니다. 오프라인 모드는 Gradle에게 최신 업데이트 확인을 무시하도록 지시합니다.Gradle은 매번 종속성을 요청하며 이 옵션을 사용하면 종속성에 대해 이미 시스템에 있는 것을 사용할 수 있습니다.Android studio Setting에서 Gradle로 이동하여 Offline work 박스를 클릭합니다.

여기에 이미지 설명 입력

  1. Android studio Setting에서 Compiler로 이동하여 명령줄 상자에 "- offline"을 추가하고 독립 모듈 병렬 컴파일을 클릭합니다.

여기에 이미지 설명 입력

다음 단계는 프로젝트에 대해 Gradle 데몬 및 병렬 빌드를 활성화하는 것입니다.병렬 빌드를 사용하면 여러 모듈이 포함된 프로젝트(Gradle의 다중 프로젝트 빌드)가 병렬로 빌드되므로 대규모 또는 모듈형 프로젝트의 빌드 속도가 빨라집니다.

여기에 이미지 설명 입력

이러한 설정은 Gradle 스크립트 디렉토리(예: ~/.gradle/gradle.properties)에서 gradle.properties라는 파일을 수정하여 활성화할 수 있습니다.이러한 옵션 중 일부(예: Complie 모듈 병렬)는 Android Studio에서 사용할 수 있으며 기본적으로 활성화되어 있지만 터미널에서 빌드할 때 gradle.properties 파일에 이 옵션을 포함하면 동료들이 동일한 설정을 사용할 수 있습니다.하지만 만약 여러분이 팀에서 일하고 있다면, 때때로 여러분은 이런 일을 저지를 수 없습니다.

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit org.gradle.parallel=true
# When set to true the Gradle daemon is used to run the build. For local developer builds this is our favorite property.
# The developer environment is optimized for speed and feedback so we nearly always run Gradle jobs with the daemon.
 org.gradle.daemon=true

데몬을 사용하면 매번 전체 Gradle 응용 프로그램을 시작할 필요가 없으므로 빌드를 더 빨리 시작할 수 있습니다.Gradle Daemon은 기본적으로 활성화되어 있지 않지만 개발자의 컴퓨터에서는 항상 활성화하는 것이 좋습니다(지속적인 통합 서버에서는 비활성화된 상태로 유지).이 모드에 대한 FAQ는 https://docs.gradle.org/current/userguide/gradle_daemon.html 에서 확인할 수 있습니다.일부 프로젝트에서는 병렬 빌드 설정이 안전하지 않을 수 있습니다.모든 모듈을 분리해야 하며 그렇지 않으면 빌드가 실패할 수 있습니다(자세한 내용은 http://gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 참조).

3단계: 증분식 덱스 설계 및 메모리 설정 조정 증분식 덱스를 설정하여 빌드 속도를 높일 수 있습니다.모듈의 빌드 파일:

여기에 이미지 설명 입력

Android 블록에 이 옵션을 추가합니다.

dexOptions {
    incremental true
}

이 덱스옵션 블록에서 다음과 같은 덱스 프로세스의 힙 크기를 지정할 수도 있습니다.

dexOptions {
    incremental true
    javaMaxHeapSize "12g"
}

여기서 "12g"는 12GB의 메모리입니다.이에 대한 추가 정보는 여기에서 찾을 수 있습니다. google.github.io/android-gradle-dsl/current/ 설정 파일에서 Gradle 매개 변수를 구성할 수도 있습니다. 예를 들어 큰 프로젝트가 있는 경우 최대 힙 크기를 늘릴 수도 있습니다.

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

자세한 내용은 모든 매개 변수 목록(https://docs.gradle.org/current/userguide/userguide_single.html#sec:gradle_configuration_properties 참조)을 참조하십시오.

4단계: 안티바이러스 사용 안 함 - 안티바이러스 검사에서 프로젝트 및 캐시 파일을 제외합니다.이것은 분명히 보안과의 트레이드오프입니다.그러나 분기 간에 전환을 많이 하면 바이러스 백신이 파일을 다시 검색한 후 그라들 프로세스가 사용하도록 허용하여 빌드 시간이 느려집니다(특히 그라들 파일 및 인덱싱 작업이 포함된 Android Studio 동기화 프로젝트).바이러스 백신을 사용하거나 사용하지 않고 빌드 시간과 프로세스 CPU를 측정하여 관련성이 있는지 확인합니다.이것이 도움이 되길 바랍니다.빌드 성능을 개선하기 위한 질문이나 기타 팁이 있으면 의견을 남겨 주십시오.

도움이 되는 링크

만약 구글 플레이 서비스를 사용한다면, 전체 블로그 대신 당신이 필요로 하는 라이브러리에만 의존하는 것이 일을 더 빠르게 만들 수 있습니다.

지도만 필요한 경우 다음을 사용합니다.

compile 'com.google.android.gms:play-services-maps:6.5.+'

다음 대신:

compile 'com.google.android.gms:play-services:6.5.+'

후자는 클래스 경로에 20k개의 메서드(블로그 참조)를 가져와 총 메서드 수가 64k개 이상이 될 수 있습니다.

그러면 디버그 빌드에 대해서도 proguard 또는 multidex를 사용해야 합니다.프로젝트 중 하나에서 다음과 같은 빌드 시간이 있었습니다.

  • 멀티덱스 빌드(지원 라이브러리 포함) ~ 40초
  • 프로가드 빌드 ~ 20초
  • 메서드 제한이 64k ~ 5초 미만일 때 빌드

SDK 21+에서 개발할 경우 안드로이드 설명서에 명시된 대로 멀티덱스 빌드를 최적화할 수 있습니다.

android {
    productFlavors {
        // Define separate dev and prod product flavors.
        dev {
            // dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
            // to pre-dex each module and produce an APK that can be tested on
            // Android Lollipop without time consuming dex merging processes.
            minSdkVersion 21
        }
        prod {
            // The actual minSdkVersion for the application.
            minSdkVersion 14
        }
    }
    ...
}

승인된 답변은 이전 버전의 안드로이드 스튜디오에 대한 것이며 대부분은 현재도 작동합니다.안드로이드 스튜디오를 업데이트하면서 조금 더 빨라졌습니다.힙 크기는 Xms 및 Xmx의 증가에 따라 자동으로 증가하므로 굳이 지정할 필요가 없습니다.다음은 VM 옵션에 대한 몇 가지 수정 사항입니다.

  1. bin 폴더에는 환경 구성을 설정할 studio.vmoptions 파일이 있습니다.이 경우 studio64.vmoptions는 다음 행을 추가하고 파일을 저장합니다. 파일을 저장합니다.제 경우에는 8GB RAM이 있습니다.

    -Xms4096m
    -Xmx4096m
    -XX:MaxPermSize=2048m
    -XX:+CMSClassUnloadingEnabled
    -XX:+CMSPermGenSweepingEnabled 
    -XX:+HeapDumpOnOutOfMemoryError
    -Dfile.encoding=utf-8`
    
  2. Android 스튜디오를 시작합니다.파일-> 설정-> 빌드, 실행, 배포-> 컴파일러로 이동합니다.

    • 컴파일 독립 모듈을 병렬로 확인합니다.
    • 명령줄 옵션에 다음과 같이 기록합니다. --offline
    • 자동으로 프로젝트 만들기 선택
    • 요청 시 구성 확인

mac을 사용하는 경우 처음에는 vmoptions를 찾을 수 없었습니다.어쨌든, 여기 MAC OSX에서 VM 옵션을 변경하는 방법에 대한 좋은 기사가 있습니다.여기 이 기사에서 인용한 것입니다.

터미널을 열고 다음 명령을 실행하여 MAC OSX에서 vm 옵션을 엽니다.

open -e /Applications/Android\ Studio.app/Contents/bin/studio.vmoptions

다음 디렉터리에 gradle.properties라는 파일을 만들기만 하면 됩니다.

/home/<username>/.gradle/ (Linux)
/Users/<username>/.gradle/ (Mac)
C:\Users\<username>\.gradle (Windows)

다음 행을 파일에 추가합니다.

org.gradle.daemon=true

저에게 속도는 이제 이클립스와 같습니다.

출처: https://www.timroes.de/2013/09/12/speed-up-gradle/

명령줄에서 그라들을 사용하면 프로세스를 더 빠르게 만들 수 있습니다.IDE 개발자들을 위해 해야 할 많은 최적화가 있습니다.하지만 그것은 단지 초기 버전일 뿐입니다.

자세한 내용은 일부 개발자와의 g+에 대한 이 토론을 참조하십시오.

Subversion을 통해 동기화된 프로젝트를 수행하고 있는 사람이 있고 아직도 이 작업이 진행 중이라면 Android Studio의 작업 흐름이 느려질 수 있다고 생각합니다.예를 들어, 내 앱이 내 단말기에서 계속 실행되는 동안 클래스, xml 등에서 스크롤하는 동안 매우 느리게 작동하는 경우.

  • [환경설정]에서 [버전 제어]로 이동한 후 [하위 버전]에서 [없음]여기에 이미지 설명 입력으로 설정합니다.

Android Studio 2.3 이후 업데이트

모든 답변이 훌륭하며, 빌드 속도를 개선하기 위해 이러한 방법을 사용할 것을 권장합니다.

2016년 9월 안드로이드 2.2 출시 후, 안드로이드는 속도를 높이기 위해 실험적 빌드 캐시 기능을 출시했습니다.gradle빌드 성능, 현재 Android Studio 2.3 카나리아에서 공식적으로 제공됩니다. (공식 릴리스 노트)

기본적으로 활성화된 새로운 빌드 캐시 기능을 도입하여 동일하거나 다른 Android 프로젝트의 이전 빌드에서 생성된 파일/디렉토리를 저장하고 재사용함으로써 빌드 시간(전체 빌드, 증분 빌드 및 즉시 실행 포함)을 단축할 수 있습니다.

사용 방법:

다행을추다니합에 행을 합니다.gradle.properties

android.enableBuildCache = true
# Set to true or false to enable or disable the build cache. If this parameter is not set, the build cache is enable by default.

캐시를 정리합니다.

  • .cleanBuildCache더 쉽게 빌드 캐시를 정리할 수 있습니다.할 수 .

    ./gradlew cleanBuildCache

  • 또는 위치에 저장된 모든 파일을 삭제하여 Android Studio 2.2의 캐시를 정리할 수 있습니다.

    C:\Users\<username>\.android\build-cache

이 설정을 변경한 후 컴파일 시간 10분이 ~10초로 변경되었습니다.

1단계:

설정(ctrl+Alt+S) ->

빌드, 실행, 배포 ->

컴파일러 ->

형유"를 합니다.--offline명령행 옵션 상자에 있습니다.

2단계:

독립 모듈을 병렬로 컴파일 확인란을 선택합니다.

적용 -> 확인을 클릭합니다.

여기에 이미지 설명 입력

참조 - https://www.sundoginteractive.com/blog/speed-up-gradle-in-android-studio

단점:

build.gradle 파일에서 식별된 최신 버전의 종속성을 풀다운할 수 없습니다.가져온 라이브러리의 캐시된 스냅샷을 사용하기 때문에 더 빠르게 실행됩니다.

중요 참고:애플리케이션을 배포할 때 이 설정을 제거하고 최신 버전의 종속성으로 빌드합니다.

로 내 것을 해결했습니다.

File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Offline work

그래들 빌드는 8분에서 3초로 단축되었습니다.

이것이 바로 이 초급 안드로이드 프로그래머(전 전문 프로그래머, 수년 전)가 안드로이드 스튜디오 2.2의 속도를 높이는 데 도움이 된 것입니다.저는 이것이 재탕이라는 것을 알지만, 한 곳에서 요약할 뿐입니다.

초기 빌드는 여전히 매우 느릴 수 있지만 실행 중인 앱의 재시작은 일반적으로 매우 견딜 수 있습니다.저는 차선의 PC를 사용하고 있습니다. AMD 쿼드코어 A8-7410 CPU, 8MB RAM, 비SSD HD, Win 10. (그리고 이것은 제 첫 스택 오버플로 게시물입니다...);)

설정 내 -> 그라들:

"Offline work"(오프라인 작업)의 경우 예(가장 많이 가져오는 설정일 수 있음).

설정 중 -> 컴파일러:

"독립 모듈을 병렬로 컴파일"하는 경우(이것이 실제로 멀티코어 CPU를 활용하는 데 도움이 되는지는 확실하지 않음).

GRADLE SCRESS에서 "build.gradle(모듈: app)".

defaultConfig {
    ...
   // keep min high so that restarted apps can be hotswapped...obviously, this is hugely faster.
   minSdkVersion 14
   ...
    // enabling multidex support...does make big difference for me.
    multiDexEnabled true

GRADLE 스크립트에서도 "gradle.properties(프로젝트 속성)".

org.gradle.jvmargs=-Xmx3048m -XX:MaxPermSize=1600m -XX:+HeapDumpOnOfMemoryError -Dfile.encoding=UTF-8

org.gradle.gradle=true org.gradle.gradle=true

또한 에뮬레이터 대신 물리적 장치에서 테스트를 수행하는 것이 좋습니다. 작은 태블릿을 사용하는 것이 편리합니다.

또 다른 성능 향상 팁:

Android Studio 3.0에는 D8이라는 새로운 DEX 컴파일러가 포함되어 있습니다.

"덱스 컴파일러는 일상적인 앱 개발에서 대부분 후드 아래에서 작동하지만 앱의 빌드 시간, .dex 파일 크기, 런타임 성능에 직접적인 영향을 미칩니다."

"그리고 새로운 D8 컴파일러를 현재의 DX 컴파일러와 비교했을 때, D8은 앱 런타임 성능이 같거나 더 나은 반면에 더 빠르게 컴파일하고 더 작은 .dex 파일을 출력합니다."

D8은 선택 사항입니다. 프로젝트의 gradle.properties에 넣어야 합니다.

android.enableD8=true

더 많은 정보: https://android-developers.googleblog.com/2017/08/next-generation-dex-compiler-now-in.html

PS. 구축 시간이 약 30% 단축되었습니다.

이 설정은 매우 빠릅니다(약 2초 빌드).

빌드.그래들

android {

    dexOptions {
        incremental true
        preDexLibraries = false
        jumboMode = false
        maxProcessCount 4
        javaMaxHeapSize "6g"
    }
}

Gradle.속성

org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.jvmargs=-Xmx8192M

내 PC:

  • CPU Intel(R) Pentium(R) CPU G2030 @ 3.00GHz, 3000Mhz, 2개의 프로사도레스 프린시페일, 2개의 프로사도레스 logicos
  • x64
  • Microsoft Windows 7 Professional
  • (RAM) 16.0 GB

파일
로컬 해 있습니다.

다음 단계를 따르십시오.

  1. 오프라인 모드 사용하기 : 아래 인쇄 화면을 확인하십시오.

    https://i.stack.imgur.com/RF9uG.png

  2. 즉시 실행 사용 : 아래의 인쇄 화면을 확인하십시오.

    https://i.stack.imgur.com/mvHKJ.png

    인스턴트 런에 대해 더 자세히 알고 싶다면 안드로이드 개발자 사이트를 방문하세요.

스튜디오 오른쪽에 있는 그래들 메뉴를 열고 변경한 모듈만 조립한 다음 install 명령을 실행할 수 있습니다.실행을 누르면 어셈블리 중인 코드에 대한 변경 사항에 관계없이 모든 항목이 어셈블리됩니다.

저는 Gradle에 대한 전문가와는 거리가 멀지만 제 환경은 .gradle/init.gradle에 다음 줄이 있었습니다.

gradle.projectsLoaded {
    rootProject.allprojects {
        repositories {
            mavenRepo name: 'libs-repo', url: 'http://guest-vm/artifactory/repo'
        }
    }
}

하지만 저는 그 선이 왜 거기에 있었는지 모르지만, 저는 바꾸려고 노력합니다.

gradle.projectsLoaded {
    rootProject.allprojects {
        repositories {
            mavenCentral()
        }
    }
} 

Android Studio & Gradle Buildind 계획에 대한 맹세 없이 작업할 수 있게 되었습니다.

우리의 특정 사례에서 문제는 retrolambda 플러그인이 있어서 핵심 모듈에서 코드가 변경되지 않았더라도 애플리케이션을 시작할 때마다 모든 프로젝트와 하위 프로젝트가 다시 컴파일되도록 했습니다.

레트로람바를 제거하는 것이 우리를 위해 해결되었습니다.누군가에게 도움이 되길 바랍니다.

일단 이거 먹어봐요.그것은 저의 개인적인 경험입니다.

저도 같은 문제가 있었습니다.제가 한 일은 바이러스 백신을 영구적으로 비활성화하는 것입니다(제가 Avast Security 2015였습니다).바이러스 백신을 비활성화한 직후에는 문제가 잘 해결되었습니다.그라들이 성공적으로 끝났습니다.지금부터 몇 초 이내에 그라들이 완료됩니다(단, 5-10초 소요).

하세요. 것은 , 수도 있습니다. 답변이 매우 늦은 것은 알지만 누군가를 도울 수도 있습니다.
에는 제우경에는을 했습니다.

compile 'com.android.support:support-v4:23.1.1'

에서 Gradle 의존성 ▁in.
하지만 내 도서관 중 한 곳에서는.

 compile 'com.android.support:support-v4:23.0.1'

모든 것을 최신 버전으로 바꾼 후에 나의 문제는 해결되었습니다.

이 단계를 따르면 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

Android Studio에서 이 옵션을 선택합니다.

여기에 이미지 설명 입력

이 suddpkg 사용 --add-architecture i386 sudo apt-get update sudo apt-get install libcurses5:i386 libstdc++6:i386 zlib1g:i386

Android Studio가 새 프로젝트를 빌드하지 못함, 슬레이브 apt 프로세스를 기다리는 동안 시간 초과됨

리소스 xml에 대한 사소한 변경에도 10분이 걸렸습니다.@rivare가 그의 대답에서 말했듯이, 명령줄 빌드가 더 빠릅니다(이를 15초로 단축).
다음은 Windows용 명령줄에서 최소한 사소한 빌드를 빠르게 수행하는 몇 가지 단계입니다.

  1. 프로젝트 루트(gradlew.bat가 있는 곳)로 이동합니다.

    cd c:\android\MaskActivity

  2. 빌드 실행:

    Gradlew 어셈블리디버그

  3. 전화기에서 직접 apk를 제거합니다(제거하려면 apk를 제거하십시오.

  4. 빌드가 완료되면 Windows 작업 관리자를 사용하여 BIG Java 프로세스를 종료합니다.

또는 윈도우즈 시스템에 unix 도구가 있는 경우:

ps

"pid"가 표시됩니다.

kill -9 <pid>
  1. 이제 apk를 설치합니다.

    adb -d 설치 C:\Android\MaskActivity\app\build\outputs\apk\app-debug.pk

안드로이드 설명서에 따르면 앱 모듈의 Gradle 파일에 이것을 추가합니다.

android {
    ...
    dexOptions {
    preDexLibraries true
    maxProcessCount 8
    }
}

낮은 구성 시스템에서 Android 환경을 실행합니다.

  1. 브라우저에서 불필요한 웹 탭 닫기
  2. 안티바이러스 사용자의 경우 자동으로 생성되는 빌드 폴더를 제외합니다.
  3. Android Studio의 기본 힙은 1.2Gb로 512MB까지 감소할 수 있습니다. 도움말 > 사용자 지정 VM 옵션 스튜디오 편집.vmoptions -Xmx512m 레이아웃 성능이 향상됩니다.

  4. Android 스튜디오의 핵심 구성 요소 중 하나인 Gradle의 경우 Mkae는 지금처럼 3.0 베타가 최신입니다.

아래 팁은 코드 품질에 영향을 줄 수 있으므로 주의하여 사용하십시오.

  1. Studio에 전원 안전 모드가 포함되어 있습니다. 이 모드를 켜면 보풀, 코드 보완 등의 백그라운드 작업이 닫힙니다.

  2. 필요할 때 수동으로 린트 점검을 실행할 수 있습니다./그래들린트

  3. 대부분은 Android 에뮬레이터를 사용하고 있으며 평균적으로 2GB RAM을 사용하므로 가능하면 실제 Android 장치를 사용하면 컴퓨터의 리소스 로드가 줄어듭니다.또는 에뮬레이터의 RAM을 줄일 수 있습니다. 그러면 컴퓨터의 가상 메모리 사용량이 자동으로 줄어듭니다.이는 가상 디바이스 구성 및 고급 설정에서 확인할 수 있습니다.

  4. Gradle 오프라인 모드는 대역폭 제한 사용자가 빌드 종속성의 다운로드를 비활성화하는 기능입니다.이것은 안드로이드 스튜디오의 성능을 높이는 데 도움이 되는 백그라운드 작업을 줄일 것입니다.

  5. Android 스튜디오는 여러 모듈을 병렬로 컴파일할 수 있는 최적화 기능을 제공합니다.RAM이 낮은 시스템에서는 이 기능이 성능에 부정적인 영향을 미칠 수 있습니다.컴파일러 설정 대화 상자에서 사용하지 않도록 설정할 수 있습니다.

저는 제 로컬 컴퓨터의 느린 안드로이드 빌드에 진저리가 났습니다.제가 이것을 해결하는 방법은 AWS에서 하이엔드 머신을 회전시키고 로컬에서 기계로 코드를 동기화하여 컴파일하는 것이었습니다.

성능이 즉시 향상되었으며 로컬 시스템이 CPU 호그로부터 보호되었습니다.개발자들의 터미널 속도를 높이기 위해 만든 이 도구를 확인하십시오. https://stormyapp.com

언급URL : https://stackoverflow.com/questions/16775197/building-and-running-app-via-gradle-and-android-studio-is-slower-than-via-eclips

반응형