java.lang.SecurityException : invalid package name: com. 谷歌.android.gms

标签 java android gps locationmanager

我在 Samsung Galaxy S2 (GT-i9100)、Android 版本 4.3 上测试应用程序时遇到了这个奇怪的堆栈跟踪。如果有帮助,Bugsense 还会报告 "log data"= {​​u'ms_from_start': u'19915', u'rooted': u'true'} ,所以我不太确定这个设备是否已 Root (客户端正在测试应用程序,而不是我)。 编辑:当我输入此内容时,客户向我确认该设备具有自定义 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。

现在,我不知道这里会出现什么问题,而且我无法在我的测试设备(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.lang.SecurityException : invalid package name: com. 谷歌.android.gms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20474761/

相关文章:

来自纬度和经度的android位置查找器

java - RecyclerView 向上/向下滚动监听器

android - 在 android 中获取 GPS 服务

android - 如何将 GPS 系统服务放在本地服务中,以便关闭 GPS 时可以将其杀死

java - 在 Android 应用程序中使用 Retrofit Builder 时出错 : java. lang.NoSuchMethodError:没有静态方法元工厂

java - 在 Spring 应用程序中使用 Hibernate 自动创建表

java - 为什么 AccessibilityManager.sInstance 会导致内存泄漏?

java - android.view.InflateException : Binary XML file line #9: Error inflating class com. jjoe64.graphview.helper.GraphViewXML

android - 如何在Android中使用Internet获取MyLocation?

android - 我在哪里可以下载 cocos2d-x 预构建二进制文件?