java.lang.SecurityException:无效的程序包名称:com.google.android.gms

在三星galaxy S2(GT-i9100),Android 4.3版本测试应用程序时,我有这个奇怪的堆栈跟踪.如果它有帮助,Bugsense还报告“log data”= {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,locListener);

哪里

private String GPS = "gps";
private int gpsRefreshPeriod = 500;

而locListener是locationListener.

现在,我不知道这里可能出了什么问题,我无法在我的测试设备(Samsung galaxy Tab2,Motorola Atrix 4G,Samsung Note2,galaxy Nexus)上重现这个错误.

我想可能有一个支票com.google.android.gms不知何故,也许可能有Intent(或某事),如果丢失该包,用户更新设备的组件..但我完全不知道如果我用这个想法走向正确的方向.

有什么想法或经验与这次崩溃?

谢谢.

解决方法

尝试使用
<uses-library android:name="com.google.android.gms" />

在应用程序标签下.例

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <uses-library android:name="com.google.android.gms" />

相关文章

背景 阿里java开发规范是阿里巴巴总结多年来的最佳编程实践,...
# 前言 在面试这一篇我们介绍过[CountDownLatch和CyclicBarr...
多线程编程是每一个开发必知必会的技能,在实际项目中,为了...
背景 在我们系统中有这么一个需求,业务方会通过mq将一些用户...
# 前言 为了更好的进行开发和维护,我们都会对程序进行分层设...
前言 关于动态代理的一些知识,以及cglib与jdk动态代理的区别...