我正在尝试将应用程序从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-time资源,即使它们已在模块的构建路径中指定.这些是app的eclipse版本使用的jar文件.
替代文字http://img.skitch.com/20091106-pgqujbb5eaeqc2wfiqc2c1p39a.png
IntelliJ工具构建的APK比Eclipse构建的小约20%,但我不知道为什么.
知道可能是什么问题吗?
更新:
昨天我和romain和xav谈过,看来问题是intellij没有将资源捆绑到apk中.显然aapt做了两遍方法 - 首先它将所有类文件捆绑到.dex文件中,然后将所有资源文件分别捆绑到apk文件的顶层.这是第二遍,intellij似乎缺失了.
作为一种解决方法,他们建议我解开joda-time jar中的所有资源文件,并将它们放在我的src目录中.期望是intellij然后将它们捆绑到我的apk中,好像它们是我自己的源的一部分,从而解决了问题.但是,当我这样做时,IntelliJ在创建apk时完全忽略了这些文件.
我不知道为什么.是否有一种解决方法可以用来将joda-time资源文件放入我的apk中,每次我想构建时都不是非常不方便?