마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드에 어플 컴파일에대해서 질문합니다.

0 추천
안드로이드에 어플 컴파일에대해서 질문합니다.

이클립스에서 컴파일된 어플이 스마트폰에 탑재되어있다고 가정할 때,

다른데서 *.java와 같은 새로운 클래스들을 휴대폰에 전송하여 컴파일시켜 어플에 적용하게 할 수 있나요?
익명사용자 님이 2013년 11월 6일 질문

2개의 답변

0 추천
적절한 답변일지는 몰라서요 우선 죄송합니다.

이미 아시겠지만, 제가 아는 범위 내에서는 모든 java 파일들은 컴파일을 거쳐서

최종 apk가 폰에 올라가야 실행(적용) 되는 것으로 알고 있습니다.

폰 자체에서 java 컴파일러를 실행하여 java를 class로 만들고... 하는 것은 아직 본적이 없습니다.

(어떤 외국의 대단하신 분들이 하셨을지는 모르겠지만요...)

 

제가 알기로는 일단 apk 는 zip 파일이고요... (apk 확장자를 zip으로 바꾸신후 압축 풀어 보시면 풀릴 것입니다.)

그렇게 푸시고 나면,

AndroidManifest.xml

classes.dex

lib (폴더)

META-INF(폴더)

res(폴더)

resources.arsc

가 나옵니다.

여기서 classes.dex 를 .jar 로 바꾸신 후에 보시면

jar는 또 결국 zip 파일형식이라서 확장자 바꾸시고....

압축을 풀어 보시면 .class 들이 있으신걸 보실수 있으실 겁니다.

그게 일종의 java 파일이 컴파일 된 뒤의 모습이고요...

훔...

말이 길어 졌지만 좀 어렵지 않을까? 하네요... (될수도 있겠지만요... ㅠㅠ 이게 뭔 답인지... 모르겠네요.. 죄송)

이상입니다.

화이팅 하시기 바랍니다. (좀더 실력자 분들이 좋은 답변 남겨주시면 저도 공부가 될 듯 하네요. ^^)
미래갑부인택 (1,040 포인트) 님이 2013년 11월 8일 답변
0 추천

사용자 디바이스에 java 소스파일을 보내서 컴파일한다는 생각은 소스를 넘겨준다는것이되고

별로 좋은 생각은 아닌것 같습니다.

 

http://android-developers.blogspot.kr/2011/07/custom-class-loading-in-dalvik.html

DexClassLoader를 사용하시면 원하는 방향으로 구현이 가능할듯합니다.

 

q1212 (26,020 포인트) 님이 2013년 11월 8일 답변
...