Rath World Notes by Jang-Ho Hwang

25Jan/12Off

Android SDK r16에서의 ant 빌드 이슈

Posted by Jang-Ho Hwang

Android SDK Tools r16에서 생겨난 이슈입니다.

요약하면 코드 한줄 고치고 ant 빌드했는데 apk 파일이 새로 만들어지지 않는다는 겁니다. 이런게 어떻게 릴리즈 됐고 아직도 패치가 안됐는지 참..

구글링 하다보면 r16 이 이상한거니 r15 쓰라는 말도 있고, 개발장비 성능이 좋은 개발자분들은 매번 ant clean debug 를 한다고 합니다.

com.android.ant.InputPath#ignores에서 boolean flag에 !를 실수로 붙여서 생긴 문제이므로 소스코드의 !를 빼주기만 하면 됩니다. 고치기 귀찮으시죠?

$ANDROID_SDK/tools/lib/anttasks.jar 를 덮어쓰시면 됩니다.

추가로 제가 수정한 이 anttasks.jar 파일에는 dx --no-optimize 옵션 지원을 넣은DexExecTask도 포함되어 있습니다. no-optimize는 말도 안되게 느린 안드로이드의 dex 파일 생성을 조금이라도 빨리 하기 위해 사용합니다. $ANDROID_SDK/tools/ant/build.xml 파일의 253 라인 dex element 에 nooptimize="true"를 넣으면 30% 정도의 속도향상을 보이게 됩니다. 마켓에 배포할 때는 no-optimize 꺼주시는 것 잊지 말고요.

코드 한 바이트도 안고쳐진 외부 라이브러리들도 빌드때마다 매번 다시 처리하시는 android dx tool 에게 10초간 묵념합시다.

Tagged as: , , No Comments