【问题标题】:"Resource not found" when building Android app under IntelliJ 9.0 Maia Public Beta在 IntelliJ 9.0 Maia Public Beta 下构建 Android 应用程序时“找不到资源”
【发布时间】:2009-11-06 21:45:47
【问题描述】:

我正在尝试将应用程序从 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 构建的 APK 小 20% 左右,但我不知道为什么。

知道可能是什么问题吗?

更新:

我昨天与 romain 和 xav 进行了交谈,看来问题在于 intellij 没有将资源捆绑到 apk 中。显然,aapt 采用了两遍方法——首先它将所有类文件捆绑到一个 .dex 文件中,然后将所有资源文件分别捆绑到 apk 文件的顶层。 intellij 似乎缺少的是第二遍。

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

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

【问题讨论】:

  • 您为什么使用 Inteli J。我的意思是 Google 建议使用 Eclipse 进行 Android 开发,那么只有 Inetli J 可以解决任何特殊需求吗?
  • 只是我的好奇心而已。
  • 得说,IntelliJ 还没有遇到任何问题,比 Eclipse 更喜欢它。希望你能弄清楚我在我的项目中添加外部 jar 时没有遇到任何问题。我唯一的建议是调整“添加”按钮下的设置。
  • IDEA 比 eclipse 好用。

标签: android intellij-idea jodatime


【解决方案1】:

在这一点上,这是一个相当旧的 intellij 版本。 10.5 似乎解决了我与 android dev 的所有问题

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-21
      • 1970-01-01
      • 2015-11-03
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多