Google - Git
https://android.googlesource.com/platform/dalvik/+refs
Tags에 본인이 사용하는 sdk version 에 맞게 들어가서 dx 코드를 받는다.
이클립스를 실행하여 받은 dx 코드를 설정.
dx.jar로 뽑아 내면 된다.
export 할때
manifest 에 Main Class 를 com.android.dx.command.Main 로 설정을 꼭 해줘야 한다!
tip)
javax를사용 dx 만들때 core library 어쩌구 저쩌구 오류를 뿜어내곤한다.
그러면 com.android.dx.command.dexer.Main 위치에
public boolean coreLibrary = true; 이부분은 true로 바꿔주고 dx.jar를 묶어서 커스텀한 dx.jar를 사용해주면 문제가 없어진다.
바꾸는김에 각 다른 정보들을 바꿔 dx 할때 더 자세한 정보를 볼수있다.
coreLibrary 문제는 dx.jar를 바꾸지 않고 SDK/platform-tools/dx 이 파일을 수정하여서도 해결이 가능하다.
exec java $javaOpts -jar "$jarpath" "$@" --(수정)--> exec java $javaOpts -jar "$jarpath" --core-library "$@"
메소드나, 필드수가 넘치면 dx에서 오류를 뿜어 낸다.
65k를 넘기면 오류뿜어내고 각 패키지위치에 있는 각 코드들의 메소드나 필수를 정보를 뿌려준다.
이정보는 오류가 발생시에만 볼수 있다.
그런데 이 정보를 오류가 아닌 상태에서 보고싶다면
아래 위치에 있는 코드를 수정해 주면 된다.
com.android.dx.dex.file.MemberIdsSection
필자는 빌드시 각 정보를 문서로 자동 생성 되도록 dx.jar 를 수정하여서 쓰고 있다.
'프로그램 > Java - Android' 카테고리의 다른 글
android sdk r22(api18) custom dx.jar (0) | 2013.08.01 |
---|---|
dx UNEXPECTED TOP-LEVEL ERROR 오류 발생시 해결 방법 (0) | 2013.07.30 |
xml 에 정의한 Layout에 코드로 생성한 Layout 붙이기 (0) | 2013.07.24 |
Android - Sevice에서 디버그 하는 방법 (0) | 2013.07.15 |
안드로이드 색상표 (0) | 2013.06.29 |