Я пытаюсь портировать приложение от Eclipse до IntelliJ. Приложение создает прекрасный, но ему не удается работать правильно.
Вот частичное отслеживание стека, которое я получаю:
ERROR/AndroidRuntime(957):
java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: dalvik.system.PathClassLoader@43761190
at org.joda.time.tz.ZoneInfoProvider.openResource(ZoneInfoProvider.java:209)
at org.joda.time.tz.ZoneInfoProvider.(ZoneInfoProvider.java:123)
at org.joda.time.tz.ZoneInfoProvider.(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.(DateTimeZone.java:114)
at org.joda.time.chrono.GregorianChronology.(GregorianChronology.java:71)
at org.joda.time.chrono.ISOChronology.(ISOChronology.java:66)
at org.joda.time.base.BaseDateTime.(BaseDateTime.java:97)
at org.joda.time.DateTime.(DateTime.java:120)
По некоторым причинам приложение не может найти joda-разовые ресурсы, даже при том, что они указаны в пути сборки модуля. Это тот же jarfiles, используемый версией затмения приложения.
сопроводительный текст http://img.skitch.com/20091106-pgqujbb5eaeqc2wfiqc2c1p39a.png
APK, созданный инструментом IntelliJ, приблизительно на 20% меньше, чем тот, созданный Eclipse, но я не знаю почему.
Какая-либо идея, какова могла бы быть проблема?
ОБНОВЛЕНИЕ:
Я говорил с romain и xav вчера, и кажется, что проблема состоит в том, что intellij не связывает ресурсы в apk. Очевидно aapt делает два подхода передачи - сначала он связывает все файлы класса в .dex файл, и затем он связывает все файлы ресурсов отдельно на верхний уровень apk файла. Именно эта вторая передача intellij, кажется, отсутствует.
Как обходное решение, они предложили, чтобы я не сотрясал все файлы ресурсов от joda-разовой банки и разместил их в мой src каталог. Ожидание состояло в том, что intellij затем свяжет их в мой apk, как будто они были частью моего собственного источника, таким образом решая проблему. Однако, когда я сделал это, IntelliJ проигнорировал те файлы полностью, когда он создал apk.
Я не знаю почему. Существует ли, возможно, обходное решение, которое я могу использовать для получения joda-разовых файлов ресурсов в мой apk, который не ужасно неудобен каждый раз, когда я хочу создать?