Google Maps Api v2 Android错误 [英] Google Maps Api v2 Android Error
问题描述
由Android 5.0降低错误
我已经安装了所有的SDK软件包。
Manifest
<?xml version =1.0encoding =utf-8?>
< manifest xmlns:android =http://schemas.android.com/apk/res/android
package =com.allegretti.triestebus>
< uses-sdk
android:minSdkVersion =16
android:targetSdkVersion =19/>
< permission
android:name =com.allegretti.triestebus.permission.MAPS_RECEIVE
android:protectionLevel =signature/>
<使用权限android:name =android.permission.WRITE_EXTERNAL_STORAGE/>
< uses-permission android:name =android.permission.INTERNET/>
< uses-permission android:name =android.permission.ACCESS_NETWORK_STATE/>
< uses-permission android:name =android.permission.WRITE_EXTERNAL_STORAGE/>
<使用权限android:name =com.google.android.providers.gsf.permission.READ_GSERVICES/>
< uses-feature android:glEsVersion =0x00020000android:required =true/>
<! -
使用
Google Maps Android API v2时不需要ACCESS_COARSE / FINE_LOCATION权限,但建议您使用。
- >
< uses-permission android:name =android.permission.ACCESS_COARSE_LOCATION/>
< uses-permission android:name =android.permission.ACCESS_FINE_LOCATION/>
$ b <应用程序
android:allowBackup =true
android:icon =@ mipmap / ic_launcher
android:label =@ string / app_name
android:theme =@ style / Theme.Triestebus>
< activity
android:name =。MainActivity
android:label =@ string / app_name>
< intent-filter>
< category android:name =android.intent.category.LAUNCHER/>
< / intent-filter>
< / activity>
< meta-data
android:name =com.google.android.gms.version
android:value =@ integer / google_play_services_version/>
< meta-data
android:name =com.google.android.maps.v2.API_KEY
android:value =@ string / google_maps_key/>
< activity
android:name =。MapsActivity
android:label =@ string / title_activity_maps>
< / activity>
< / application>
< / manifest>
build.grade
apply plugin:'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion21.1.2
defaultConfig {
applicationIdcom.allegretti.triestebus
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName1.0
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
依赖关系{
编译fileTree(dir:'libs',include:['* .jar'])
编译'com.android.support:appcompat-v7: 21.0.3'
compile'com.google.android.gms:play-services:7.0.0'
}
Java class
public class Fragment2 extends Fragment {
Ma pView mMap;
GoogleMap google地图;
查看rootView;
$ b $ public查看onCreateView(LayoutInflater inflater,ViewGroup容器,Bundle savedInstanceState){
rootView = inflater.inflate(R.layout.activity_maps,container,false);
mMap =(MapView)rootView.findViewById(R.id.mapView);
mMap.onCreate(savedInstanceState);
googleMap = mMap.getMap();
// googleMap.getUiSettings()。setMyLocationButtonEnabled(false);
// googleMap.setMyLocationEnabled(true);
//在执行任何CameraUpdateFactory调用之前需要调用MapsInitializer
MapsInitializer.initialize(this.getActivity());
//更新MapView的位置和缩放比例b $ b // CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(45.649526,13.776818),13);
// googleMap.animateCamera(cameraUpdate);
$ b / * googleMap.addMarker(new MarkerOptions()。position(new LatLng(45.631523,13.780745))。title(Fermata di Via Svevo)。snippet 29年1月8日-B));
googleMap.addMarker(new MarkerOptions()。position(new LatLng(45.641204,13.774329))。title(Fermata di Via Leon Battista Alberti)。snippet(29-B));
googleMap.addMarker(new MarkerOptions()。position(new LatLng(45.628215,13.820757))。title(Fermata di Via Alpi Giulie)。snippet(37-48-C));
googleMap.addMarker(新的MarkerOptions()。position(new LatLng(45.639983,13.758070))。title(Fermata di Passeggio Sant'Andrea)。snippet(8-9-A));
googleMap.addMarker(new MarkerOptions()。position(new LatLng(45.627767,13.810545))。title(Fermata di Via Erta Sant'Anna).socket(34));
* /
return(rootView);
$ b public void onResume(){
super.onResume();
mMap.onResume();
$ b @Override
public void onPause(){
super.onPause();
mMap.onPause();
$ b @Override
public void onDestroy(){
super.onDestroy();
mMap.onDestroy();
$ b @Override
public void onLowMemory(){
super.onLowMemory();
mMap.onLowMemory();
}
}
EROR
VFY:无法解析实例字段16
04-15 16:23:18.943 1791-1791 / com.allegretti.triestebus D / dalvikvm:VFY:将操作码0x54替换为0x00b3
04-15 16:23:18.953 1791- 1791 / com.allegretti.triestebus E / dalvikvm:找不到类'android.app.AppOpsManager',从方法com.google.android.gms.common.GooglePlayServicesUtil.zza
引用04-15 16:23: 18.953 1791-1791 / com.allegretti.triestebus W / dalvikvm:VFY:无法解析Lcom / google / android / gms / common / GooglePlayServicesUtil中的check-cast 25(Landroid / app / AppOpsManager;);
04-15 16:23:18.953 1791-1791 / com.allegretti.triestebus D / dalvikvm:VFY:以0x000e替换操作码0x1f
04-15 16:23:18.963 1791-1791 / com。 allegretti.triestebus I / dalvikvm:找不到方法android.content.pm.PackageManager.getPackageInstaller,从方法com.google.android.gms.common.GooglePlayServicesUtil.zzg引用
04-15 16:23:18.963 1791 -1791 / com.allegretti.triestebus W / dalvikvm:VFY:无法解析虚拟方法497:Landroid / content / pm / PackageManager; .getPackageInstaller()Landroid / content / pm / PackageInstaller;
04-15 16:23:18.963 1791-1791 / com.allegretti.triestebus D / dalvikvm:VFY:用0x000b替换操作码0x6e
04-15 16:23:18.983 1791-1791 / com。 allegretti.triestebus W / GooglePlayServicesUtil:Google Play服务已过期。需要7095000,但找到3136130
04-15 16:23:18.993 1791-1791 / com.allegretti.triestebus W / GooglePlayServicesUtil:Google Play服务已过期。需要7095000,但找到3136130
04-15 16:23:19.033 1791-1791 / com.allegretti.triestebus W / GooglePlayServicesUtil:Google Play服务已过期。需要7095000,但找到3136130
04-15 16:23:19.043 1791-1791 / com.allegretti.triestebus W / GooglePlayServicesUtil:Google Play服务已过期。需要7095000,但找到3136130
04-15 16:23:19.053 1791-1791 / com.allegretti.triestebus W / GooglePlayServicesUtil:Google Play服务已过期。需要7095000,但找到3136130
Google Maps Api v2 Android错误
Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google地图Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps Api v2 Android错误Google Maps API v2 Android错误解决方案因为Google Maps Android API的版本2需要OpenGL ES版本2,所以您必须在AndroidManifest.xml中添加元素作为manifest元素的子元素:
< uses-feature andr oid:glEsVersion =0x00020000
android:required =true/>
这将通知外部服务的需求。特别是,它会阻止Google Play商店在不支持OpenGL ES版本2的设备上显示您的应用。
您还没有在你的清单。这是版本2所必需的。可能是因为这样,某些设备上运行的应用程序的特殊情况正在发生。
在您的代码中,请确保您将代码用于检查播放服务是否已安装。请按照官方文档中的步骤 https://developers.google.com/maps/documentation/androidonly Android 5.0 work. Error by Android 5.0 lower
I have installed all SDK package.
Manifest
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.allegretti.triestebus" > <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="19" /> <permission android:name="com.allegretti.triestebus.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <!-- The ACCESS_COARSE/FINE_LOCATION permissions are not required to use Google Maps Android API v2, but are recommended. --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.Triestebus" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="@string/google_maps_key" /> <activity android:name=".MapsActivity" android:label="@string/title_activity_maps" > </activity> </application> </manifest>
build.grade
apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.allegretti.triestebus" minSdkVersion 16 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.google.android.gms:play-services:7.0.0' }
Java class
public class Fragment2 extends Fragment { MapView mMap; GoogleMap googleMap; View rootView; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ rootView = inflater.inflate(R.layout.activity_maps, container, false); mMap = (MapView) rootView.findViewById(R.id.mapView); mMap.onCreate(savedInstanceState); googleMap = mMap.getMap(); // googleMap.getUiSettings().setMyLocationButtonEnabled(false); // googleMap.setMyLocationEnabled(true); // Needs to call MapsInitializer before doing any CameraUpdateFactory calls MapsInitializer.initialize(this.getActivity()); // Updates the location and zoom of the MapView // CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(45.649526, 13.776818), 13); // googleMap.animateCamera(cameraUpdate); /* googleMap.addMarker(new MarkerOptions().position(new LatLng(45.631523, 13.780745)).title("Fermata di Via Svevo").snippet("1-8-29-B")); googleMap.addMarker(new MarkerOptions().position(new LatLng(45.641204, 13.774329)).title("Fermata di Via Leon Battista Alberti").snippet("29-B")); googleMap.addMarker(new MarkerOptions().position(new LatLng(45.628215, 13.820757)).title("Fermata di Via Alpi Giulie").snippet("37-48-C")); googleMap.addMarker(new MarkerOptions().position(new LatLng(45.639983, 13.758070)).title("Fermata di Passeggio Sant'Andrea").snippet("8-9-A")); googleMap.addMarker(new MarkerOptions().position(new LatLng(45.627767, 13.810545)).title("Fermata di Via Erta Sant'Anna").snippet("34")); */ return (rootView); } public void onResume() { super.onResume(); mMap.onResume(); } @Override public void onPause() { super.onPause(); mMap.onPause(); } @Override public void onDestroy() { super.onDestroy(); mMap.onDestroy(); } @Override public void onLowMemory() { super.onLowMemory(); mMap.onLowMemory(); } }
EROR
VFY: unable to resolve instance field 16 04-15 16:23:18.943 1791-1791/com.allegretti.triestebus D/dalvikvm﹕ VFY: replacing opcode 0x54 at 0x00b3 04-15 16:23:18.953 1791-1791/com.allegretti.triestebus E/dalvikvm﹕ Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza 04-15 16:23:18.953 1791-1791/com.allegretti.triestebus W/dalvikvm﹕ VFY: unable to resolve check-cast 25 (Landroid/app/AppOpsManager;) in Lcom/google/android/gms/common/GooglePlayServicesUtil; 04-15 16:23:18.953 1791-1791/com.allegretti.triestebus D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x000e 04-15 16:23:18.963 1791-1791/com.allegretti.triestebus I/dalvikvm﹕ Could not find method android.content.pm.PackageManager.getPackageInstaller, referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zzg 04-15 16:23:18.963 1791-1791/com.allegretti.triestebus W/dalvikvm﹕ VFY: unable to resolve virtual method 497: Landroid/content/pm/PackageManager;.getPackageInstaller ()Landroid/content/pm/PackageInstaller; 04-15 16:23:18.963 1791-1791/com.allegretti.triestebus D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x000b 04-15 16:23:18.983 1791-1791/com.allegretti.triestebus W/GooglePlayServicesUtil﹕ Google Play services out of date. Requires 7095000 but found 3136130 04-15 16:23:18.993 1791-1791/com.allegretti.triestebus W/GooglePlayServicesUtil﹕ Google Play services out of date. Requires 7095000 but found 3136130 04-15 16:23:19.033 1791-1791/com.allegretti.triestebus W/GooglePlayServicesUtil﹕ Google Play services out of date. Requires 7095000 but found 3136130 04-15 16:23:19.043 1791-1791/com.allegretti.triestebus W/GooglePlayServicesUtil﹕ Google Play services out of date. Requires 7095000 but found 3136130 04-15 16:23:19.053 1791-1791/com.allegretti.triestebus W/GooglePlayServicesUtil﹕ Google Play services out of date. Requires 7095000 but found 3136130
Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error Google Maps Api v2 Android Error
解决方案Because version 2 of the Google Maps Android API requires OpenGL ES version 2, you must add a element as a child of the manifest element in AndroidManifest.xml:
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
This notifies external services of the requirement. In particular, it has the effect of preventing Google Play Store from displaying your app on devices that don't support OpenGL ES version 2.
You have not made this addition in your manifest. This is required for the version 2. It might be because of this that the peculiar situation of app running on some device is happening.
In your code make sure that you put the code for checking whether play services is installed as well. Follow the steps in the official documentation https://developers.google.com/maps/documentation/android这篇关于Google Maps Api v2 Android错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!