2012-11-27 4 views
10

그래서 Phonegap/Android 프로젝트 (project/bin/dexedLibs) 내에 상당히 최근의 폴더가 있고이 폴더에는 .jar 파일 두 개가 들어 있습니다. 인터넷 주변을 긁어 낸 후 ADT 버전 21이 "pre-dexed Libs"를 프로젝트에 넣으면 더 빨리 빌드 할 수 있다고 한 웹 사이트를 발견했습니다.android project의 dexedLibs 폴더

최근에 ADT 21로 업그레이드했는데 다른 누군가가 "pre-dexed Libs"가 실제로하는 일에 대해 더 많은 정보를 제공 할 수 있는지 궁금한가요? 나는 그물에 다른 유용한 정보를 찾을 수 없었습니다.

답변

10

약 20 개의 외부 라이브러리가있는 Android 프로젝트가 있습니다. ADT 21 이전에는 소스 코드가 변경 될 때마다 앱을 다시 작성하는 데 오래 걸렸습니다. 이제는 매우 빠릅니다!

내가 생각하기에 ADT 21 이전에는 Eclipse에서 "실행"버튼을 누를 때마다 외부 라이브러리가 dex 코드로 컴파일되었습니다. 이제는 외부 라이브러리에 대한 dex 코드를 한 번만 (변경 될 때까지) 컴파일하고 나중에 "실행"을 위해 prebuild 라이브러리를 사용합니다.

나는 그 기능을 좋아합니다!

+0

감사합니다. Jane -이 기능을 사용하여 작성자가 "빠른 빌드"시간에 도움이되었다고 말한 것을 확인합니다. – Boyds

5

알고 계십시오! 난 그냥 예외를 얻을 이유를 찾기 위해 시간을 보냈어요 : 나는 작업 방법으로 새로운 항아리 (같은 이름)에 내 lib 디렉토리 항아리를 변경하고, ADT (21)는하지 않았기 때문에

Caused by: java.lang.NoSuchMethodError: 

이유였다 dexedLibs에서 새로운 것을 준비하십시오.

bin 디렉토리 만 삭제하면 Eclipse에서 다시 작성합니다.

0

질문은 아직 2 년 전의 문제입니다.

여기를 탐색하는 사람들을 위해 : my.name.a3e에서 Cordova 프로젝트의 이름을 my.name.A3E으로 변경했기 때문에 문제가 발생하여 빌드 프로세스가 중단되었습니다. ant-build에서 dexed 파일이 새로 고쳐지지 않았다는 것을 알았습니다 (대소 문자 구분). 내가 ant-build 폴더를 삭제 한 후에도 문제가 없었지만, 처음 빌드를 한 후 오래 걸렸습니다.

dex 파일은 Dalvik 가상 컴퓨터에서 실행할 수있는 컴파일 된 바이트 코드 인 Dalvik 실행 파일입니다. Dalvik은 Android의 핵심 구성 요소이므로 여기에 있습니다.

http://sourceforge.net/projects/dexer/ 깨끗한 Eclipse 프로젝트가 dexed libs가 제거되지 않습니다 http://developer.android.com/reference/dalvik/system/DexFile.html http://fileinfo.com/extension/dex

참고.