【问题标题】:When adding MapView to Android application, get cross-loader exception将 MapView 添加到 Android 应用程序时,获取跨加载器异常
【发布时间】:2010-12-27 09:05:51
【问题描述】:

我在 Android 中有一个项目,我想将 MapView 添加到其中。 我做了以下事情:

  1. 已下载 Google API 修订版 3。
  2. 将 maps.jar 库添加到我的项目中
  3. 将 MapView 添加到活动中
  4. 创建了新的虚拟设备,目标是 Google API(不是普通的目标 Android 1.5)
  5. 启动项目

当我尝试使用地图视图到达活动时,我得到

........

12-16 20:57:44.620: 错误/AndroidRuntime(792):由以下原因引起: java.lang.IllegalAccessError: 预验证的跨加载程序访问 类

12-16 20:57:44.620: 错误/AndroidRuntime(792):在 dalvik.system.DexFile.defineClass(本机 方法)

12-16 20:57:44.620: 错误/AndroidRuntime(792):在 dalvik.system.DexFile.loadClass(DexFile.java:193)

............

我做错了什么?

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    如果使用 Eclipse,请确保您的项目构建路径中没有多次引用 maps.jar。这包括对 maps.jar 的任何直接引用,或通过 Google API 库(Google API [Android 1.5])的隐式引用。事实上,在您的项目构建路径中仅包含 Google API 库就足够了。

    http://andmobidev.blogspot.com

    【讨论】:

      【解决方案2】:

      如果使用 Maven 的 Android 插件,请确保将测试项目对 Application-Under-Test 的 APK 的依赖声明在“已提供”范围内,例如 AUT 的 JAR:

          <dependency>
              <groupId>com.example</groupId>
              <artifactId>my-application</artifactId>
              <type>jar</type>
              <version>1.0.0-SNAPSHOT</version>
              <scope>provided</scope>
          </dependency>
      
          <dependency>
              <groupId>com.example</groupId>
              <artifactId>my-application</artifactId>
              <type>apk</type>
              <version>1.0.0-SNAPSHOT</version>
              <scope>provided</scope>    <!-- ADD THIS -->
          </dependency>   
      

      Maven 示例(在撰写本文时)都使测试 APK 依赖于具有默认(即“编译”)范围的应用程序 APK,导致应用程序提供“编译”范围的任何库都被打包到测试中APK 也是。

      【讨论】:

        【解决方案3】:

        我今天遇到了这个确切的问题。我的问题是我将 maps.jar 添加到我的项目中,而不是更改构建路径以包含Google APIs [android-2.1-update1] 而不是标准的android-2.1-update1。当&lt;uses-library&gt; 位于正确的位置时,将maps.jar 包含在您的项目中会引发IllegalAccessException,而当它位于错误的位置时会引发RuntimeException (stub)。 API 必须通过 Android API 目标加载。

        【讨论】:

          猜你喜欢
          • 2012-03-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多