简体   繁体   English

找不到方法glt.a引用的类'com.google.android.gms.location.internal.ParcelableGeofence

[英]Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence referenced from method glt.a

I have an app where homepage is map. 我有一个应用程序,其中主页是地图。

Do not know why i am getting this error and along with this error Could not find class 'gpr', referenced from method gps.a 不知道为什么我会收到此错误以及与此错误一起Could not find class 'gpr', referenced from method gps.a

I have updated eclipse so i tried to change to API key with new SHA1 fingerprint. 我已经更新了Eclipse,因此我尝试使用新的SHA1指纹更改为API密钥。 But that does not work. 但这不起作用。

My app is to show current location when you open the app. 当您打开应用程序时,我的应用程序将显示当前位置。 It just landed into whole map but in LOG cat i get these error. 它只是落入整个地图,但在LOG cat中却出现了这些错误。 Here is my Logcat 这是我的Logcat

`07-08 12:54:39.897: I/Google Maps Android API(25749): Google Play services client version: 5077000

 07-08 12:54:39.907: I/dalvikvm(25749): Could not find method guj.a, referenced from method gqi.a

 07-08 12:54:39.907: W/dalvikvm(25749): VFY: unable to resolve static method 24936: Lguj;.a (Landroid/content/Context;)Lgri;

 07-08 12:54:39.907: D/dalvikvm(25749): VFY: replacing opcode 0x71 at 0x0003

 07-08 12:54:39.917: E/dalvikvm(25749): Could not find class 'gpr', referenced from method gps.a

 07-08 12:54:39.917: W/dalvikvm(25749): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps;

 07-08 12:54:39.917: D/dalvikvm(25749): VFY: replacing opcode 0x22 at 0x0000

 07-08 12:54:39.927: E/dalvikvm(25749): Could not find class 'gpr', referenced from method gps.a

 07-08 12:54:39.927: W/dalvikvm(25749): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps;

 07-08 12:54:39.927: D/dalvikvm(25749): VFY: replacing opcode 0x22 at 0x0000

 07-08 12:54:39.927: E/dalvikvm(25749): Could not find class 'gpr', referenced from method gps.a

 07-08 12:54:39.927: W/dalvikvm(25749): VFY: unable to resolve new-instance 4090 (Lgpr;) in Lgps;

 07-08 12:54:39.927: D/dalvikvm(25749): VFY: replacing opcode 0x22 at 0x0000

 07-08 12:54:39.937: D/dalvikvm(25749): DexOpt: unable to opt direct call 0x5ea3 at 0x0a in Lgps;.a

 07-08 12:54:39.937: D/dalvikvm(25749): DexOpt: unable to opt direct call 0x5ea3 at 0x0c in Lgps;.a

 07-08 12:54:39.937: D/dalvikvm(25749): DexOpt: unable to opt direct call 0x5ea3 at 0x0a in Lgps;.a

 07-08 12:54:39.957: I/Google Maps Android API(25749): Google Play services package version: 5084034

 07-08 12:54:39.977: W/dalvikvm(25749): VFY: unable to resolve static field 20873 (t) in Lyp;

 07-08 12:54:39.977: D/dalvikvm(25749): VFY: replacing opcode 0x62 at 0x000e
 07-08 12:54:39.977: W/dalvikvm(25749): VFY: unable to resolve static field 20873 (t) in Lyp;

 07-08 12:54:39.977: D/dalvikvm(25749): VFY: replacing opcode 0x62 at 0x000d

 07-08 12:54:40.888: I/dalvikvm(25749): Failed resolving Lcom/google/android/gms/location/internal/ParcelableGeofence; interface 4023 'Lgln;'

 07-08 12:54:40.888: W/dalvikvm(25749): Link of class 'Lcom/google/android/gms/location/internal/ParcelableGeofence;' failed

 07-08 12:54:40.898: E/dalvikvm(25749): Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method glt.a

 07-08 12:54:40.898: W/dalvikvm(25749): VFY: unable to resolve check-cast 2086 (Lcom/google/android/gms/location/internal/ParcelableGeofence;) in Lglt;

 07-08 12:54:40.898: D/dalvikvm(25749): VFY: replacing opcode 0x1f at 0x0019

 07-08 12:54:41.589: W/ActivityThread(25749): ClassLoader.loadClass: The class loader returned by Thread.getContextClassLoader() may fail for processes that host multiple applications. You should explicitly specify a context class loader. For example: Thread.setContextClassLoader(getClass().getClassLoader());`

I tried to Google it around and it seems there is no proper solution yet so it would be helpful if anybody could help me with this. 我尝试使用Google进行搜索,似乎还没有适当的解决方案,因此如果有人可以帮助我,这将是有帮助的。

I show you how I solved the same problem you have. 我向您展示如何解决您遇到的相同问题。

First of all, I cleaned all sdk and I downloaded again Google Play Services lib. 首先,我清理了所有SDK,然后再次下载了Google Play服务库。 Then I removed .android folder of my computer and I regenerated my debug.keystore. 然后,我删除了计算机的.android文件夹,并重新生成了debug.keystore。

After that, I just get my new SHA1 to obtain my Google Maps V2 Api Key. 之后,我只需获取新的SHA1即可获取我的Google Maps V2 Api密钥。

After update my apikey, let's see how I change my code. 更新我的apikey之后,让我们看看如何更改代码。

Now I use fragment with MapFragment insted of MapView in your xml layout. 现在,在您的xml布局中,将片段与MapView插入的MapFragment一起使用。

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MapsActivity" >

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.gms.maps.MapFragment" />

</RelativeLayout> 

And use FragmentManager to locate it: 并使用FragmentManager找到它:

    public class MapsActivity extends Activity
{
    private GoogleMap map;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);

        // Gets the MapView from the XML layout and creates it
        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
        map.getUiSettings().setMyLocationButtonEnabled(false);
        //map.setMyLocationEnabled(true);
        map.setOnMapClickListener(this);
        map.setOnMapLongClickListener(this);
        try 
        {
            MapsInitializer.initialize(MapsActivity.this);
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }
    }

I hope that's helpfull and sorry if my english is so bad, regards 希望对我有帮助,如果我的英语不好,抱歉

I had the same issue after upgrading to API Level 23 in July (with client google-play-service_lib 5.0.77). 在7月升级到API级别23(使用客户端google-play-service_lib 5.0.77)后,我遇到了同样的问题。

The issue was resolved after Google Play Service was updated to latest (6.1.09) on the test device. 将Google Play服务更新到测试设备上的最新版本(6.1.09)后,此问题已解决。

So, it seems to have been (a device-specific issue) due to incompatibility between the Google Play Service version on the device/emulator and the client library API (google-play-service_lib) in the project. 因此,这似乎是(特定于设备的问题),原因是设备/仿真器上的Google Play服务版本与项目中的客户端库API(google-play-service_lib)不兼容。

According to Google's documentation, when the client is newer than the service, the client library API is supposed to resolve out-of-date service apk issues; 根据Google的文档,当客户端比服务新时,客户端库API应该可以解决过时的服务apk问题。 (and it does in this case since the issue does not really affect released apk's) https://developer.android.com/google/play-services/index.html . (并且在这种情况下也是如此,因为问题实际上并没有影响已发布的APK) https://developer.android.com/google/play-services/index.html

My earlier attempts to resolve this issue by using new API key, and fresh installs of Eclipse/ADT/SDK/google-play-service_lib, as suggested in this and other similar questions did not work. 我之前尝试通过使用新的API密钥和新安装的Eclipse / ADT / SDK / google-play-service_lib来解决此问题,但此问题和其他类似问题中的建议均无效。

Could you post your manifest? 您可以张贴清单吗? Sans API key, of course. 当然,Sans API密钥。

Your log looks almost identical to mine for a problem I've had recently, which was fixed by adding the following to the manifest: 对于我最近遇到的问题,您的日志看上去几乎与我的日志相同,此问题已通过在清单中添加以下内容来解决:

 <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />

I'm working on an application that was accessing maps just fine, then stopped out of the blue. 我正在开发一种可以正常访问地图,然后突然停止运行的应用程序。 I couldn't see anything actually pointing to a missing permission; 我看不到任何实际上指向缺少权限的内容; I only picked up on it when I compared the manifest with another application that used maps api v2. 我将清单与另一个使用maps api v2的应用程序进行比较时才了解它。

I'm still confused as to why it previously worked without it (Google says you need the permission for maps to work). 对于为什么以前没有它,我仍然感到困惑(Google表示您需要获得地图的许可才能工作)。 Perhaps I'd once put it there and accidentally deleted the line, but either way putting it in is what fixed it. 也许我曾经把它放在那儿,然后不小心删除了那条线,但是把它放进去的任何一种方式都可以解决它。

Source: https://developers.google.com/maps/documentation/business/mobile/android/config 来源: https//developers.google.com/maps/documentation/business/mobile/android/config

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 找不到类&#39;com.google.android.gms.location.internal.ParcelableGeofence&#39;,从方法glt.a引用 - Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method glt.a Android:找不到方法glt.a所引用的类&#39;com.google.android.gms.location.internal.ParcelableGeofence - Android: Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence referenced from method glt.a 找不到方法gls.a引用的类“ com.google.android.gms.location.internal.ParcelableGeofence” - Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence', referenced from method gls.a 找不到类&#39;com.google.android.gms.location.internal.ParcelableGeofence - Could not find class 'com.google.android.gms.location.internal.ParcelableGeofence ClassNotFoundException:带有Maps APIv2的com.google.android.gms.location.internal.ParcelableGeofence - ClassNotFoundException: com.google.android.gms.location.internal.ParcelableGeofence with Maps APIv2 找不到方法com.xxx.xxx.MainActivity.onCreate引用的类“ com.google.android.gms.ads.AdView” - Could not find class 'com.google.android.gms.ads.AdView', referenced from method com.xxx.xxx.MainActivity.onCreate 获取错误:无法找到类com.google.android.gms.common.GooglePlayServicesUtil.zza引用的类&#39;android.app.AppOpsManager&#39; - Getting error: Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza 找不到方法com.google.android.gms.common.kf.a引用的类“ android.app.AppOpsManager” - Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.kf.a 找不到类&#39;android.app.AppOpsManager&#39;,引自com.google.android.gms.common.GooglePlayServicesUtil.zza方法 - Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zza com.google.android.gms.internal.zzhu:找不到引用的类android.security.NetworkSecurityPolicy - com.google.android.gms.internal.zzhu: can't find referenced class android.security.NetworkSecurityPolicy
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM