我们可以在模拟器中运行Google Maps V2吗?

时间:2015-04-12 22:49:00

标签: android google-play-services google-maps-android-api-2

我知道以前不可能在使用Google Maps V2 API的模拟器中运行应用程序,因为这也需要Google Play服务。我看到很多这个问题正在讨论,我被告知无法完成,但这些消息都至少有两年了。

我正在使用Android Studio并且已经构建了一个运行Google API 22 armeabi-v7a的Nexus 5模拟器,因为我需要在Android 5.0上测试我的应用程序而我没有这个级别的手机。但是,当然,这个模拟器会让我的googlePlayServicesAvailable测试失败。

这是我的AVD详情。我的理解是,选择Google API可以解决问题。 。 。 enter image description here

今天是否可以构建一个可以运行所有这些的模拟器? 谢谢, 迪安

2 个答案:

答案 0 :(得分:0)

是的,您可以使用google play设置模拟器,应该是创建模拟器时的选项之一。如果不在场,您可能需要进入sdk经理并获取Google Play服务并重试。

答案 1 :(得分:0)

是的,您可以使用Google Maps V2 API在模拟器中运行应用。 您必须在项目中导入Google Play服务库,检查库是否已正确识别,并在AndroidManifest中添加Google Map的API密钥。

关于Google Play服务库的导入,您可以在此处找到更多信息: https://developers.google.com/android/guides/setup#add_google_play_services_to_your_project

要检查库是否被正确识别,您可以使用以下代码:

private boolean checkPlayServices() {
    GoogleApiAvailability googleAPI = GoogleApiAvailability.getInstance();
    int result = googleAPI.isGooglePlayServicesAvailable(this);
    if(result != ConnectionResult.SUCCESS) {
        if(googleAPI.isUserResolvableError(result)) {
            googleAPI.getErrorDialog(this, result,
                    PLAY_SERVICES_RESOLUTION_REQUEST).show();

        }

        return false;
    }

    return true;
}

但请记住初始化此常量:

private final static int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;

最后,我们可以按照以下说明为您创建Google Maps V2 API密钥: Google Map API KEY How To

请记住在AndroidManifest.xml文件中添加这些说明:

<!-- Google Map V2 Key TEST-->
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="GOOGLE-MAPS-API-KEY" />

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

祝你好运!