无法运行 Google Maps Android API Utility Demo
Posted
技术标签:
【中文标题】无法运行 Google Maps Android API Utility Demo【英文标题】:couldn't run Google Maps Android API Utility Demo 【发布时间】:2014-05-15 11:27:43 【问题描述】:我在运行 Google Maps android API Utility Demo 时遇到问题,它显示以下错误:
04-03 16:32:37.397: E/dalvikvm(2592): Could not find class 'com.google.maps.android.utils.demo.ClusteringDemoActivity', referenced from method com.google.maps.android.utils.demo.MainActivity.onCreate
04-03 16:32:37.452: E/AndroidRuntime(2592): FATAL EXCEPTION: main
04-03 16:32:37.452: E/AndroidRuntime(2592): java.lang.NoClassDefFoundError: com.google.maps.android.utils.demo.ClusteringDemoActivity
04-03 16:32:37.452: E/AndroidRuntime(2592): at com.google.maps.android.utils.demo.MainActivity.onCreate(MainActivity.java:20)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.Activity.performCreate(Activity.java:5163)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2061)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2122)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.ActivityThread.access$600(ActivityThread.java:140)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1228)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.os.Handler.dispatchMessage(Handler.java:99)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.os.Looper.loop(Looper.java:137)
04-03 16:32:37.452: E/AndroidRuntime(2592): at android.app.ActivityThread.main(ActivityThread.java:4895)
04-03 16:32:37.452: E/AndroidRuntime(2592): at java.lang.reflect.Method.invokeNative(Native Method)
04-03 16:32:37.452: E/AndroidRuntime(2592): at java.lang.reflect.Method.invoke(Method.java:511)
04-03 16:32:37.452: E/AndroidRuntime(2592): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
04-03 16:32:37.452: E/AndroidRuntime(2592): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
04-03 16:32:37.452: E/AndroidRuntime(2592): at dalvik.system.NativeStart.main(Native Method)
虽然我按照安装演示中显示的步骤进行操作,并且包中存在类 ClusteringDemoActivity。
【问题讨论】:
贴出你试过的代码 我从这里导入了项目演示:github.com/googlemaps/android-maps-utils 【参考方案1】:我通过将 GoogleMapsUtil 作为库添加到演示项目中解决了这个问题。
如果您在步骤从实用程序演示应用程序引用实用程序库中遵循https://developers.google.com/maps/documentation/android/utility/setup 的设置指南,请改为执行以下操作:
-
右键单击您的演示项目 (MainActivity) 并选择“属性”。
单击 Android 选项卡。
在库部分下单击添加并选择地图实用程序项目(称为库)
【讨论】:
我在使用 CustomMarkerClusteringDemoActivity 时遇到了这个问题。您的解决方案也解决了这个问题。谢谢!! 这也解决了其他错误,例如: java.lang.NoClassDefFoundError: com.google.maps.android.heatmaps.HeatmapTileProvider$Builder (我把它放在这里以防其他人直接使用 GoogleMapsUtil 发生在我身上)【参考方案2】:文档告诉你使用:
compile 'com.google.maps.android:android-maps-utils:0.4+'
使用它会报错。您必须使用 android-maps-utils:0.3+
compile 'com.google.maps.android:android-maps-utils:0.3+'
这将消除错误。
【讨论】:
您会注意到您导入的库也在使用 android-maps-utils:0.3+,这就是它起作用的原因以上是关于无法运行 Google Maps Android API Utility Demo的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google Maps API android studio “除非您更新 Google Play 服务,否则应用程序将无法运行”
无法通过 gradle 导入 com.google.maps.android:android-maps-utils
com.google.android.gms.maps.MapFragment:无法解析符号“地图”
import com.google.android.maps.geopoint 无法解析