Google Maps Api v2 Android错误 [英] Google Maps Api v2 Android Error

查看:164
本文介绍了Google Maps Api v2 Android错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

只有Android 5.0的工作。
由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'c​​om.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/android


only 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆