Android的 - 谷歌地图API第2版 - SupportMapFragment错误(Andr

2019-07-04 14:40发布

我试图让我的应用程序的一个备份,并首次在谷歌地图API V2上运行。 我创建了我的应用程序的关键在我的密钥存储,提取的SHA1哈希值,获得API密钥,然后做下面的应用程序内...我包括:

谷歌播放,services.jar

以及导入GooglePlayServices libraryand将其作为该项目的参考。 在我的Java代码中,我只是简单地加载布局资源。

public class Times extends Activity{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.map);
    }
}

在此,我试图实例我有布局(RES /布局/ map.xml):

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:name="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

我也有以下的表现我宣布:

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE" />

<permission
    android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

而在清单的应用标签宣称:

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="My_API_Key" />

当活动被载入,它崩溃在logcat中以下错误:

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
    at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)

我试图研究这个问题,但我一直无法找到我所期待的。 任何和所有帮助是极大的赞赏。

Answer 1:

您需要延长FragmentActivity如果您正在使用SupportMapFragment 。 如果您使用的是MapFragment可以延长Activity



Answer 2:

在您的布局,使用

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/map"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              class="com.google.android.gms.maps.SupportMapFragment"/>

代替

...    
android:name="com.google.android.gms.maps.SupportMapFragment"
...


Answer 3:

你必须这样做:

public class MainActivity extends android.support.v4.app.FragmentActivity{

}


Answer 4:

这为我工作: https://stackoverflow.com/a/13744765/1215098

好像你必须添加谷歌Play服务,因为模块,而不仅仅是的.jar



Answer 5:

我通过检查“ 复制项目进入工作区 ”,同时导入谷歌播放服务的lib解决了这个错误。
更多资讯: http://developer.android.com/google/play-services/setup.html



Answer 6:

我曾与谷歌同样的问题,播放服务和一切..我包括作为一个图书馆和一切,仍然存在问题(“ 找不到com.google.android.gms.maps.suportmapfragment”)..

我能够解决它:将项目属性。 然后选择Java Build Path。 然后选择订单和出口标签。 然后,请务必检查Android依赖Android私家藏书

希望这可以帮助 :)



Answer 7:

我已经添加了<uses-library android:name="com.google.android.maps" />清单文件。 这为我工作!



Answer 8:

我想我看来,你有更新的版本在清单中添加此行同样的问题

<meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />


Answer 9:

我的情况,我想补充:

文件 - >新建 - >谷歌 - >谷歌地图活动

于是我跟着这个教程 。



文章来源: Android - Google Maps API v2 - SupportMapFragment Errors