谷歌地图Android版只有白色屏幕显示 [英] Google maps Android only white screen is shown
问题描述
我没有人过程添加谷歌地图API,但我收到此错误。对不起,脏话。
09 12:20:55.359:W / dalvikvm(5918):无法解析Lmaps / A /杜超类; (406)
12月1日至九日:20:55.359:W / dalvikvm(5918):类链接Lmaps / A /杜;'失败
12月1日至九日:20:55.359:W / dalvikvm(5918):无法解析Lmaps / A / EJ的超类; (2358)
12月1日至九日:20:55.359:W / dalvikvm(5918):类链接Lmaps / A / EJ;'失败
12月1日至九日:20:55.359:W / dalvikvm(5918):无法解析Lmaps / J / K的超类; (2374)
12月1日至九日:20:55.359:W / dalvikvm(5918):类链接Lmaps / J / K;'失败
12月1日至九日:20:55.359:E / dalvikvm(5918):找不到类的maps.j.k,从法maps.y.ae.a引用
12月1日至九日:20:55.359:W / dalvikvm(5918):VFY:无法解析新的实例3566(Lmaps / J / K;)在Lmaps / Y / AE;
下面其manifest.xml中
<使用许可权的android:NAME =android.permission.WRITE_EXTERNAL_STORAGE/>
<使用许可权的android:NAME =android.permission.ACCESS_NETWORK_STATE/>
<使用许可权的android:NAME =android.permission.INTERNET对/>
<使用许可权的android:NAME =android.permission.READ_PHONE_STATE/>
<使用许可权的android:NAME =com.comparto.piso.permission.MAPS_RECEIVE/>
<使用许可权的android:NAME =com.google.android.providers.gsf.permission.READ_GSERVICES/>
<使用许可权的android:NAME =android.permission.ACCESS_COARSE_LOCATION/>
<使用许可权的android:NAME =android.permission.ACCESS_FINE_LOCATION/> <许可
机器人:名字=com.comparto.piso.permission.MAPS_RECEIVE
安卓的ProtectionLevel =签名/> <应用
........>
<使用库机器人:名字=com.google.android.maps/>
&所述;元数据
机器人:名字=com.google.android.maps.v2.API_KEY
机器人:值=API密钥/>
......
.....
在Java的$ C C I扩展FragmentActivity这里其的onCreate code
GooglePlayServicesUtil
.isGooglePlayServicesAvailable(getApplicationContext()); GoogleMap的地图=((SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.map))的GetMap()。
如果(图!= NULL){
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
在这里它的布局XML
<片段
的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:ID =@ + ID /图
机器人:layout_width =FILL_PARENT
机器人:layout_height =300像素
类=com.google.android.gms.maps.SupportMapFragment/>
所有的无法解析超XXXX,并从Dalvik的在logcat的类XXXX链接失败是正常的,如果你的设备是不是在相同的API级别由谷歌地图库使用的之一。
您应该检查是否你得到授权失败,而不是使用此命令:
亚行logcat | grep的地图
如果你看到这样的内容:
E /谷歌地图的Android API():授权失败。
然后,它意味着你没有提供你的清单中的正确的API密钥。在谷歌API控制台再次检查(在 API访问权限部分)是否加入了正确的指纹和包名对作为指南中所描述。
I did al procedure to add google maps api but i am getting this errors. Sorry for bad language.
09 12:20:55.359: W/dalvikvm(5918): Unable to resolve superclass of Lmaps/a/du; (406)
01-09 12:20:55.359: W/dalvikvm(5918): Link of class 'Lmaps/a/du;' failed
01-09 12:20:55.359: W/dalvikvm(5918): Unable to resolve superclass of Lmaps/a/ej; (2358)
01-09 12:20:55.359: W/dalvikvm(5918): Link of class 'Lmaps/a/ej;' failed
01-09 12:20:55.359: W/dalvikvm(5918): Unable to resolve superclass of Lmaps/j/k; (2374)
01-09 12:20:55.359: W/dalvikvm(5918): Link of class 'Lmaps/j/k;' failed
01-09 12:20:55.359: E/dalvikvm(5918): Could not find class 'maps.j.k', referenced from method maps.y.ae.a
01-09 12:20:55.359: W/dalvikvm(5918): VFY: unable to resolve new-instance 3566 (Lmaps/j/k;) in Lmaps/y/ae;
Here its the manifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="com.comparto.piso.permission.MAPS_RECEIVE" />
<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" />
<permission
android:name="com.comparto.piso.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<application
........ >
<uses-library android:name="com.google.android.maps" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="api key" />
......
.....
In java code i extends FragmentActivity and here its the onCreate code
GooglePlayServicesUtil
.isGooglePlayServicesAvailable(getApplicationContext());
GoogleMap map = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map)).getMap();
if (map != null) {
map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
here its the layout xml
<fragment
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="300px"
class="com.google.android.gms.maps.SupportMapFragment" />
All the "Unable to resolve superclass xxxx" and "Link of class xxxx failed" from Dalvik in the logcat is normal if your device is not on the same API level as the one used by the Google Maps library.
You should check whether you are getting an authorization failure instead by using this command:
adb logcat | grep Maps
If you see something like this:
E/Google Maps Android API(): Authorization failure.
Then it would mean that you are not supplying the correct API key in your manifest. Check again in your Google API Console (in the API Access section) whether you have added the correct fingerprint and package name pair as described in the guide.
这篇关于谷歌地图Android版只有白色屏幕显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!