Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“未找到资源”;在IntelliJ 9.0 Maia公共测试版下构建Android应用程序时_Android_Intellij Idea_Jodatime - Fatal编程技术网

&引用;“未找到资源”;在IntelliJ 9.0 Maia公共测试版下构建Android应用程序时

&引用;“未找到资源”;在IntelliJ 9.0 Maia公共测试版下构建Android应用程序时,android,intellij-idea,jodatime,Android,Intellij Idea,Jodatime,我正在尝试将一个应用程序从Eclipse移植到IntelliJ。该应用程序构建良好,但无法正常运行 下面是我收到的部分堆栈跟踪: ERROR/AndroidRuntime(957): java.io.IOException: Resource not found: "org/joda/time/tz/data/ZoneInfoMap" ClassLoader: dalvik.system.PathClassLoader@43761190 at org.j

我正在尝试将一个应用程序从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)
错误/AndroidRuntime(957):
java.io.IOException:未找到资源:“org/joda/time/tz/data/zoneInfo映射”类加载器:dalvik.system。PathClassLoader@43761190
位于org.joda.time.tz.ZoneInfo提供者.openResource(ZoneInfo提供者.java:209)
位于org.joda.time.tz.ZoneInfo提供程序(zoneInfo提供程序.java:123)
位于org.joda.time.tz.ZoneInfo提供程序。(ZoneInfo提供程序.java:82)
位于org.joda.time.DateTimeZone.getDefaultProvider(DateTimeZone.java:439)
位于org.joda.time.DateTimeZone.setProvider0(DateTimeZone.java:393)
位于org.joda.time.DateTimeZone(DateTimeZone.java:114)
在org.joda.time.chrono.GregorianChronology上(GregorianChronology.java:71)
在org.joda.time.chrono.ISOChronology上(ISOChronology.java:66)
位于org.joda.time.base.BaseDateTime。(BaseDateTime.java:97)
位于org.joda.time.DateTime(DateTime.java:120)
由于某些原因,应用程序无法找到joda时间资源,即使它们已在模块的构建路径中指定。这些文件与eclipse版本的应用程序使用的文件相同

IntelliJ工具构建的APK比Eclipse构建的APK小20%左右,但我不知道为什么

知道有什么问题吗

更新:

我昨天和romain和xav谈过,问题似乎是intellij没有将资源捆绑到apk中。显然,aapt采用了两次传递的方法——首先将所有类文件捆绑到一个.dex文件中,然后将所有资源文件分别捆绑到apk文件的顶层。intellij似乎错过了第二关

作为一种解决方法,他们建议我从joda time jar中取消所有资源文件,并将它们放在我的src目录中。人们的期望是intellij随后将它们捆绑到我的apk中,就像它们是我自己的源代码的一部分一样,从而解决问题。然而,当我这样做时,IntelliJ在创建apk时完全忽略了这些文件

我不知道为什么。是否有一种变通方法可以让joda时间资源文件进入我的apk,而这种方法在每次我想要构建时都不会带来太大的不便?

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


我自己不是IJ的用户,但从你的截图来看,这是我的猜测。这也解释了为什么android软件包的大小要小80%。

这是intellij的一个非常旧的版本。10.5似乎解决了我在android dev上的所有问题

你为什么要使用Intelli J。我的意思是谷歌建议在android开发中使用Eclipse,那么是否有任何特殊需要只有Inteli J才能解决?只是我的好奇而已。不得不说,IntelliJ还没有遇到任何问题,比Eclipse更喜欢它。希望你能明白我在为我的项目添加外部jar时没有遇到任何问题。我唯一的建议是调整Add按钮下的设置。IDEA比eclipse好得多。