在IntelliJ 9.0 Maia Public Beta下构buildAndroid应用程序时,“资源未find”

我试图将一个应用程序从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.<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) 

出于某种原因,应用程序无法findjoda时间资源,即使它们是在模块的构buildpath中指定的。 这些是应用程序的Eclipse版本使用的相同的jar文件。

替代文字http://sofzh.miximages.com/android/skitch

由IntelliJ工具构build的APK比Eclipse构build的小约20%,但我不知道为什么。

任何想法可能是什么问题?

更新:

我昨天和romain和xav交谈过了,看来问题是intellij没有把资源捆绑到apk中。 很明显,aapt采取了两种方法 – 首先将所有类文件捆绑到一个.dex文件中,然后将所有资源文件分别捆绑到apk文件的顶层。 这是第二遍,intellij似乎失踪了。

作为一个解决方法,他们build议我从joda-time jar中解压所有的资源文件,并将它们放在我的src目录中。 期望的是,intellij会把它们捆绑到我的apk中,好像它们是我自己的源代码的一部分,从而解决了这个问题。 但是,当我这样做的时候,IntelliJ在创buildapk的时候完全忽略了这些文件。

我不知道为什么。 有没有可能的解决scheme,我可以用来获得乔达时间资源文件到我的apk不是非常不方便每次我想要构build?

Solutions Collecting From Web of "在IntelliJ 9.0 Maia Public Beta下构buildAndroid应用程序时,“资源未find”"

这是intellij的一个相当老的版本。 10.5似乎解决了所有我的问题与Android开发

你的问题不是你的依赖范围吗? 如果他们只用于编译,那么在运行时工作是不是保证是吗?

我不是IJ的用户,而是从我的猜测中获得截图。 这也可以解释为什么你的android包的大小要低80%。