【问题标题】:Android Studio: package name conflict and BIND_JOB_SERVICE permission errorAndroid Studio:包名冲突和BIND_JOB_SERVICE权限错误
【发布时间】:2019-11-03 04:40:38
【问题描述】:

当应用程序崩溃时,我在 logcat 中收到以下错误:

应用的包名是 com.todo.quickcards

不知何故,RebootReceiver 和 RebootService 类引用了旧的包名称(请参阅黄色突出显示包名称显示“com.wimso.v118.RebootReceiver”和“com.example.jdw.v118/com.wimso.v118 .RebootService)。logcat 错误表明 RebootService 类中需要 BIND_JOB_SERVICE 权限,但 Android Manifest 已经为 RebootService 添加了该权限:

AndroidManifest.xml
...
<service
        android:name="com.todo.quickcards.RebootService"
        android:permission="android.permission.BIND_JOB_SERVICE"
        android:exported="false"
        android:description="@string/rebootservicedesc" >
</service>

如何删除错误的旧包名引用并让 Android Studio 为 RebootReceiver 和 RebootService 类引用当前的 com.todo.quickcards 包名?

【问题讨论】:

  • 您在图片上显示的不是应用程序包名称。它在 build.gradle 中有说明。
  • 原来是applicationId?如果是,则当前的 applicationId 是“com.todo.quickcards”。因此,某处有一个错误的引用没有获取新的 applicationId。即使我收到 logcat 错误,通知也会以某种方式触发。关于如何解决的任何想法?

标签: android package android-permissions


【解决方案1】:

原来问题是我的设备上安装了该应用程序的早期版本,而该版本在 Manifest 中没有 android:permission="android.permission.BIND_JOB_SERVICE"。因此,当设备重新启动时,早期版本应用程序中的接收器和服务会产生权限错误。我用 BIND 权限更新了早期版本的应用程序,没有产生错误。

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 2019-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多