프로그램/Java - Android / / 2013. 7. 26. 18:49

android - dx.jar 만들기

반응형

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 를 수정하여서 쓰고 있다.


반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유