2013-06-11 4 views
0

~ 5k 줄의 코드와 소수의 리소스로 구성된 작은 안드로이드 애플리케이션 프로젝트에서 작업합니다. 또한 lib/폴더에 몇 가지 라이브러리 종속성이 있습니다. 문제는 컴파일 시간이 매우 느리다는 것입니다. 다음을 수행한다고 가정 해 보겠습니다.개미/안드로이드 - 컴파일 시간 단축

ant clean debug 

약 28 초가 소요됩니다. 후속 수행 :

컴파일 사이에 소스를 변경하지 않았더라도 9 초가 걸립니다.

대다수의 느린 속도가 '-dex'대상 중에 발생하는 것처럼 보입니다.

안드로이드 빌드의 속도 성능을 어떻게 향상시킬 수 있습니까? http://pastebin.com/XY08mr5G

내가 사용 :

내 편집 '개미 깨끗한 디버그'출력이 링크에서 봐 주시기 바랍니다 아파치 앤트 (TM) 버전 1.8.4, 안드로이드 디버그 브리지 버전 1.0.31, Android SDK 도구 22.01, Android SDK 플랫폼 도구 17, Android SDK 빌드 도구 17

감사합니다.

+1

내 질문에 대한 답을 얻었습니다. 이 질문을 개선하기 위해 무엇을 할 수 있습니까? – rustushki

답변

0

궁금한 점은 Ant 빌드가 마지막 빌드 이후 수정 된 경로를 올바르게 추적하지 않는다는 것입니다. 나는 종종 엉터리 빌드를 너무 많이 구워서 컴파일 할 때마다 'ant clean debug'를 실행하는 경우가 많다.

매번 의존성 라이브러리를 실제로 재배치하지 않고 원본 소스를 새로 컴파일해야하는 목표를 가지고 있다면!

다음은 내 문제에 대한 제안 된 해결책입니다. 내 프로젝트의 build.xml 파일이 개미 대상을 추가

<target name="cl"> 
    <delete file="bin/classes.dex" /> 
    <delete file="bin/classes.dex.d" /> 
    <delete dir="bin/classes" /> 
</target> 

지금 실행 '개미 CL 디버그'

5 초에서 클러킹, 상당히 적은 시간이 걸립니다. 모든 Java 소스 파일은 다시 컴파일되지만 매번 라이브러리는 다시 처리되지 않습니다. ('깨끗한'목표는 일 때마다 시간)

나는이 솔루션에 만족하며 Android의 미래는 Gradle based build system입니다. 행운을 빌어이 Ant 기반 시스템보다 더 다양한 목표를 제공 할 것입니다.

0

Ant 빌드 스크립트에는 28 초가 걸리지 않습니다. dex 형식으로 컴파일하는 데는 시간이 걸립니다. 내가 당신이 개미 스크립트를 실행할 때 모르겠지만 당신이 더 나은 IDE를 사용하여 Eclipse와 같은 컴파일러와 그것을 배경으로 컴파일됩니다 개발하고 있습니다. 테스트 또는 릴리스 할 빌드를 만들 때 Ant 빌드 스크립트를 사용하십시오.