Eclipse에서 IntelliJ로 앱을 이식하려고합니다. 응용 프로그램이 잘 빌드되지만 제대로 실행되지 않습니다.IntelliJ 9.0에서 Android 앱을 빌드 할 때 "리소스를 찾을 수 없음"Maia Public Beta
가 여기에 내가받을 부분 스택 추적입니다 :
ERROR/AndroidRuntime(957):
java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: [email protected]
at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:209)
at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:123)
at org.joda.time.tz.ZoneInfoProvider.<init>(ZoneInfoProvider.java:82)
at org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:439)
at org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:393)
at org.joda.time.DateTimeZone.<clinit>(DateTimeZone.java:114)
at org.joda.time.chrono.GregorianChronology.<clinit>(GregorianChronology.java:71)
at org.joda.time.chrono.ISOChronology.<clinit>(ISOChronology.java:66)
at org.joda.time.base.BaseDateTime.<init>(BaseDateTime.java:97)
at org.joda.time.DateTime.<init>(DateTime.java:120)
몇 가지 이유를 들어, 응용 프로그램은이 모듈의 빌드 경로에 지정하고, 비록 joda 시간 자원을 찾을 수 없습니다. 이것들은 앱의 일식 버전에서 사용되는 동일한 jar 파일입니다.
alt text http://img.skitch.com/20091106-pgqujbb5eaeqc2wfiqc2c1p39a.png
인 IntelliJ 도구로 내장 된 APK는 이클립스에 의해 만들어진 것보다 약 20 % 더 작은, 그러나 나는 이유를 알지 못한다.
어떤 문제 일 수 있습니까?
UPDATE :
내가 로맹과 XAV 어제와 통화를하고, 문제가 인 IntelliJ가 APK에 자원 번들되지 않는 것입니다 것으로 보인다. 분명히 aapt는 2 단계 접근 방식을 취합니다. 먼저 모든 클래스 파일을 .dex 파일로 묶은 다음 모든 리소스 파일을 apk 파일의 최상위 수준으로 따로 따로 묶습니다. intellij가 빠진 것 같습니다.
임시 해결책으로, 나는 joda-time jar의 모든 리소스 파일의 압축을 풀고이를 src 디렉토리에 놓을 것을 제안했습니다. Intellij는 내 소스의 일부인 것처럼 내 apk에 묶어서 문제를 해결할 것이라는 기대가있었습니다. 그러나이 작업을 수행 할 때 IntelliJ는 apk를 만들 때 해당 파일을 완전히 무시했습니다.
이유를 모르겠습니다. 어쩌면 빌드 할 때마다 몹시 불편하지 않은 apk에 joda-time 리소스 파일을 가져 오는 데 사용할 수있는 임시 해결책이 있습니까?
왜 인텔리 제이를 사용하고 있습니까? 그렇다면 안드로이드 개발을 위해 이클립스를 사용하라는 Google의 조언은 Inetli J 만 주소 지정하는 특별한 필요가 있습니까? –
그냥 내 호기심 그 밖에. –
IntelliJ에 아무런 문제가 없었지만, Eclipse보다 더 좋아합니다. 희망을 당신이 내 프로젝트에 외부 항아리를 추가하는 데 아무런 어려움이 없다고 생각합니다. 내 유일한 제안은 추가 버튼 아래의 설정을 조정할 것입니다. – sgarman