首先,这个问题对我来说只能在运行Android 6的LG设备(LG G4和G5)上重现.这个问题是通过谷歌播放服务的最新更新引入的.如果我手动降级LG设备上的Google Play服务,则错误消失了.不幸的是我不能告诉我的用户这样做,所以我需要找到另一个解决方案.由于此错误可以在我的应用程序在Play商店中重现,我可以肯定错误不是通过我自己的代码更改引入的.
通过在MapView中调用onCreate()方法发生错误.我将MapView子类化,并拥有我自己的类
public class MyMap extends MapView implements OnMapReadyCallback {
...
}
Run Code Online (Sandbox Code Playgroud)
在MyMap的构造函数中,我调用了onCreate方法
public MyMap() {
...
this.onCreate(null);
this.onResume();
this.getMapAsync(this);
...
}
Run Code Online (Sandbox Code Playgroud)
在运行Android 6的LG设备上,抛出以下异常:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources com.google.maps.api.android.lib6.impl.aq.e()' on a null object reference
at com.google.maps.api.android.lib6.gmm6.vector.ah.getResources(:com.google.android.gms.DynamiteModulesB:340)
at android.util.ResolutionOverride.<init>(ResolutionOverride.java:56)
at android.view.SurfaceView.init(SurfaceView.java:207)
at android.view.SurfaceView.<init>(SurfaceView.java:187)
at com.google.maps.api.android.lib6.gmm6.vector.am.<init>(:com.google.android.gms.DynamiteModulesB:1)
at com.google.maps.api.android.lib6.gmm6.vector.ah.<init>(:com.google.android.gms.DynamiteModulesB:3)
at com.google.maps.api.android.lib6.gmm6.api.am.<init>(:com.google.android.gms.DynamiteModulesB:53)
at com.google.maps.api.android.lib6.gmm6.api.am.a(:com.google.android.gms.DynamiteModulesB:49)
at com.google.android.gms.maps.internal.bv.a(:com.google.android.gms.DynamiteModulesB:38)
at com.google.maps.api.android.lib6.impl.az.a(:com.google.android.gms.DynamiteModulesB:80)
at com.google.maps.api.android.lib6.impl.az.a(:com.google.android.gms.DynamiteModulesB:1)
at com.google.maps.api.android.lib6.impl.cw.a(:com.google.android.gms.DynamiteModulesB:18)
at com.google.android.gms.maps.internal.t.onTransact(:com.google.android.gms.DynamiteModulesB:17)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.maps.internal.IMapViewDelegate$zza$zza.onCreate(Unknown Source)
at com.google.android.gms.maps.MapView$zza.onCreate(Unknown Source)
at com.google.android.gms.dynamic.zza$3.zzb(Unknown Source)
at com.google.android.gms.dynamic.zza$1.zza(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 自将我的Macbook Pro 2015从El Capitan更新到Sierra之后,大约15分钟后,我一直无法通过Android电缆与Android设备建立连接。当我拔下设备的电源时,需要多次尝试才能再次识别该设备。有时在拔掉10次插头后。
我在以下设备上经历过:
我正在使用Android SDK工具25.2.5和Android SDK平台工具25.0.3在版本2.2.3上运行Android Studio
我在网上找到了其他一些消息来源,说应该使用Platform Tools 24.0.4进行修复,但对我来说不是。
其他消息来源指出,这是由于Macbook Pro的端口错误所致,但是El Capitan并没有出现问题,因此我将排除此原因。我已经尝试了Macbook上的所有端口,但没有区别。
设备通过MTP连接。