在三星Galaxy S2(GT-i9100),Android版本4.3上测试应用程序时,我有这个奇怪的堆栈跟踪.如果它有帮助,Bugsense报告"日志数据"= {u'ms_from_start':u'19915',u'rooted':u'true'},所以我不太确定这个设备是否有根(客户端)正在测试应用程序,而不是我).编辑:当我输入此信息时,客户确认我该设备正在使用自定义ROM,如果它很重要.
无论如何,这是一个完整的堆栈跟踪:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mypackagename/com.mypackagename.activities.ARActivity}: java.lang.SecurityException: invalid package name: com.google.android.gms at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2355) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405) at android.app.ActivityThread.access$600(ActivityThread.java:156) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5303) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.SecurityException: invalid package name: com.google.android.gms at android.os.Parcel.readException(Parcel.java:1431) at android.os.Parcel.readException(Parcel.java:1385) at android.location.ILocationManager$Stub$Proxy.requestLocationUpdates(ILocationManager.java:540) at android.location.LocationManager.requestLocationUpdates(LocationManager.java:836) at android.location.LocationManager.requestLocationUpdates(LocationManager.java:430) at android.privacy.surrogate.PrivacyLocationManager.requestLocationUpdates(PrivacyLocationManager.java:290) at com.mypackagename.activities.ARActivity.onCreate(ARActivity.java:371) at android.app.Activity.performCreate(Activity.java:5259) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1098) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
现在,ARActivity.java:371正在调用
locationManager.requestLocationUpdates(GPS, gpsRefreshPeriod, 0, locListener);
哪里
private String GPS = "gps"; private int gpsRefreshPeriod = 500;
和locListener是locationListener.
现在,我不知道这里会出现什么问题,我无法在我的测试设备(三星Galaxy Tab2,摩托罗拉Atrix 4G,三星Note2,Galaxy Nexus)上重现此错误.
我猜可能会以某种方式检查com.google.android.gms,也许可能会有Intent(或其他),如果缺少该包,用户更新设备的组件..但我完全不确定我是否用这种想法走向正确的方向.
这次崩溃有什么想法或经验吗?
谢谢.