android - 在 IntelliJ 9.0 Maia Public Beta 下构建 Android 应用时出现 "Resource not found"

标签 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.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-time 资源,即使它们已在模块的构建路径中指定。这些是应用程序的 eclipse 版本使用的相同 jarfile。

alt text http://img.skitch.com/20091106-pgqujbb5eaeqc2wfiqc2c1p39a.png

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

知道可能是什么问题吗?

更新:

我昨天与 romain 和 xav 交谈过,看来问题是 intellij 没有将资源 bundle 到 apk 中。显然,aapt 采用了两次传递的方法 - 首先将所有类文件 bundle 到一个 .dex 文件中,然后将所有资源文件分别 bundle 到 apk 文件的顶层。这是 intellij 似乎缺少的第二遍。

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

我不知道为什么。是否有一种解决方法可以用来将 joda-time 资源文件放入我的 apk 中,每次我想构建时都不会非常不方便?

最佳答案

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

关于android - 在 IntelliJ 9.0 Maia Public Beta 下构建 Android 应用时出现 "Resource not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1690696/

相关文章:

php - 需要通过php文件更改mysqli_query输出格式

java - 如何从 Intellij 中的 src 文件夹访问 Gradle 项目的 build 文件夹中生成的类

java - 在 4 个存储库中重命名具有相同包名称的包

java - 第一次使用Jodatime的LocalDateTime很慢

java - 当用户单击后退时,有什么方法可以在 fragment 中调用 saveNote() 吗?

java - 如何从layout xml android调用一个方法

android - 如何在 Android 中使用右上角的关闭按钮进行 Activity ?

gradle - 使用 IJ 和 Gradle 6.5 重新加载项目时出错

java - 非 DST 时区的 Joda 时间转换不正确

java - 为什么 JodaTime BaseInterval 的结束必须大于开始?