问题描述
我现在有点迷茫.我正在使用 Google 地图实现一个 Android 应用程序.
I'm kind of lost right now.I'm implementing an Android application using Google maps.
为了使它工作,我遵循了一些非常有效的教程.但是我坚持这个:
In order to make it work I followed some tutorials which were pretty efficient. However I'm stuck with this ":
为了解决这个问题,我找到了一些技巧这里或here 告诉你要解决这个问题你必须为模拟器做一个特殊的配置,这是我的:
To fix, this problem I found some tricks here or here which tell that to solve this issue you have to take a special configuration for the emulator, here is mine:
并在模拟器上安装一些.apk.
and to install some .apk on the emulator.
魔法应该完成,地图应该出现,这不是我的情况.
And the magic is supposed to be done and the map is supposed to appear which is not my case.
我检查了我的附加组件是否安装良好:
I checked that my extras were well installed:
这是我的 AndroidManifest:
Here is my AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mypack"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="16"/>
<permission android:name="mypack.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="mypack.permission.MAPS_receive"/>
<!-- Permission pour utiliser la connexion internet -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- Permission permettant de vérifier l'état de la connexion -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- Permission pour stocker des données en cache de la map -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="MYKEY" />
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<activity android:name="Home"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
这是我的主要活动
import android.app.Activity;
import android.os.Bundle;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
public class Home extends Activity {
/**
* Called when the activity is first created.
*/
private GoogleMap map;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
}
}
和相应的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
希望能找到一些修复或我在这里遗漏的东西,提前谢谢你.
Hope to find some fix or what I missed here, thank you in advance.
推荐答案
在 Android SDK Manager 中,您必须在Android 4.4.2 (API 19)"下安装Google APIs (x86 System Image)".退出 Eclipse 并重新启动它.
In the Android SDK Manager, you must install "Google APIs (x86 System Image)" under "Android 4.4.2 (API 19)". Quit Eclipse and restart it.
然后在 AVD 管理器中创建一个新的 android 虚拟设备并选择Google APIs x86 (Google Inc.) - API Level 19"作为目标.勾选Use Host GPU",确保地图绘制会加速.
Then create a new android virtual device in AVD manager and choose "Google APIs x86 (Google Inc.) - API Level 19" as target. Check "Use Host GPU" to ensure the drawing of the map will be accelerated.
就是这样,这个新模拟器将预装 Play 服务,运行速度更快,因为它是 x86 映像.
That's it, this new emulator will have Play Services preinstalled and it will run faster because it's a x86 image.
这篇关于除非您更新 Google Play 服务错误,否则此应用不会运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!