我在尝试启动从MapActivity派生的活动(TestLocationActivity)时遇到此异常,并在Android库项目中声明:
09-08 09:29:45.357: ERROR/AndroidRuntime(7502): java.lang.NoClassDefFoundError: msumo.business.testlocation.impl.view.TestLocationActivity
09-08 09:29:45.357: ERROR/AndroidRuntime(7502): at msumo.app.test2.impl.Test2AppManagerImpl.loadNewScreen(Test2AppManagerImpl.java:94)
09-08 09:29:45.357: ERROR/AndroidRuntime(7502): at msumo.business.common.GuiAppManager.handleMessage(GuiAppManager.java:101)
09-08 09:29:45.357: ERROR/AndroidRuntime(7502): at msumo.core.MessageBus.dispatchMessage(MessageBus.java:338)
09-08 09:29:45.357: ERROR/AndroidRuntime(7502): at msumo.core.MessageBus$1.doWork(MessageBus.java:251)
09-08 09:29:45.357: ERROR/AndroidRuntime(7502): at msumo.core.util.WorkerThread.run(WorkerThread.java:29)
我找不到问题的根源。我已经在主应用程序的AndroidManifest.xml和库项目中包含了Google Maps库声明:
<uses-library android:name="com.google.android.maps" />
在Eclipse中,我没有收到错误,应用程序正常启动,但在尝试启动指示的Activity时,它失败了。启动活动的代码块如下:
Intent intent = new Intent(ctx, TestLocationActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);
我不知道可能出现什么问题。是否可能无法使用Android库项目中的Google API库?
我找到了一些可以帮助清除情况的系统跟踪:
09-08 10:53:34.615: INFO/dalvikvm(13221): Rejecting re-init on previously-failed class Lmsumo/platform/location/impl/LocationModuleImpl$2; v=0x0
09-08 10:53:34.654: WARN/System.err(13221): java.lang.NoClassDefFoundError: msumo.platform.location.impl.LocationModuleImpl$2
09-08 10:53:34.654: WARN/System.err(13221): at msumo.platform.location.impl.LocationModuleImpl.doUseBestProvider(LocationModuleImpl.java:189)
09-08 10:53:34.654: WARN/System.err(13221): at msumo.platform.location.LocationModule.performQuery(LocationModule.java:329)
09-08 10:53:34.662: WARN/System.err(13221): at msumo.platform.location.LocationModule.handleMessage(LocationModule.java:543)
09-08 10:53:34.662: WARN/System.err(13221): at msumo.core.MessageBus.dispatchMessage(MessageBus.java:338)
09-08 10:53:34.662: WARN/System.err(13221): at msumo.core.MessageBus$1.doWork(MessageBus.java:251)
09-08 10:53:34.669: WARN/System.err(13221): at msumo.core.util.WorkerThread.run(WorkerThread.java:29)
09-08 10:53:34.685: WARN/System.err(13221): java.lang.NoClassDefFoundError: msumo.platform.location.impl.LocationModuleImpl$2
09-08 10:53:34.685: WARN/System.err(13221): at msumo.platform.location.impl.LocationModuleImpl.doUseBestProvider(LocationModuleImpl.java:189)
09-08 10:53:34.685: WARN/System.err(13221): at msumo.platform.location.LocationModule.performQuery(LocationModule.java:329)
09-08 10:53:34.693: WARN/System.err(13221): at msumo.platform.location.LocationModule.handleMessage(LocationModule.java:543)
09-08 10:53:34.693: WARN/System.err(13221): at msumo.core.MessageBus.dispatchMessage(MessageBus.java:338)
09-08 10:53:34.693: WARN/System.err(13221): at msumo.core.MessageBus$1.doWork(MessageBus.java:251)
09-08 10:53:34.693: WARN/System.err(13221): at msumo.core.util.WorkerThread.run(WorkerThread.java:29)
答案 0 :(得分:3)
如果您想使用谷歌提供的MapView,您需要完成3个步骤:
<uses-library android:name="com.google.android.maps" />
答案 1 :(得分:0)
您是否在清单中注册了TestLocationActivty?
答案 2 :(得分:0)
也许this可以帮到你。
您是否注册以获取Maps API密钥?这可能是您遇到问题的原因。
答案 3 :(得分:0)
猜测一下:您是否为您的项目选择了正确的SDK?您可以选择每个版本两次。一个使用Google API,一个没有和使用地图,您应该使用带有Google API的版本。