Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安装失败,消息为INSTALL_failed_DUPLICATE_PERMISSION…;C2D_消息的可能性_Android_Android Permissions - Fatal编程技术网

Android 安装失败,消息为INSTALL_failed_DUPLICATE_PERMISSION…;C2D_消息的可能性

Android 安装失败,消息为INSTALL_failed_DUPLICATE_PERMISSION…;C2D_消息的可能性,android,android-permissions,Android,Android Permissions,(如果你是通过谷歌搜索来寻找这个错误的解决方案的,下面的链接会给你一个答案,我的问题也有一些解释!) 可能重复的 等等 我今天在一个实时项目中遇到了这个错误。用户出现了505错误,无法安装应用程序。然后我在IDE上运行了它 如果您从play store下载具有上述问题的应用程序,则在尝试安装时,将出现505错误 如果您尝试使用IDE运行它,您将得到上图中所示的错误!(如果我错了,请纠正我) 然后我在寻找原因 这是我的问题 <permission android

(如果你是通过谷歌搜索来寻找这个错误的解决方案的,下面的链接会给你一个答案,我的问题也有一些解释!)

可能重复的

等等

我今天在一个实时项目中遇到了这个错误。用户出现了505错误,无法安装应用程序。然后我在IDE上运行了它

  • 如果您从play store下载具有上述问题的应用程序,则在尝试安装时,将出现505错误
  • 如果您尝试使用IDE运行它,您将得到上图中所示的错误!(如果我错了,请纠正我)
然后我在寻找原因

这是我的问题

   <permission
        android:name="in.wptrafficanalyzer.locationroutedirectionmapv2.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />
    <uses-permission android:name="in.wptrafficanalyzer.locationroutedirectionmapv2.permission.MAPS_RECEIVE" />

令人惊讶的是,另一个开发者的应用程序在某个特定用户的手机上使用了相同的签名!该死,那些复制粘贴今天相遇了

我想如果我尝试在两个应用程序中声明相同的权限 相同的包名可能会发生此错误。(如果我错了,请更正我)

以下是我的两个问题?

1.他们是否需要具有相同的权限?不管怎样,他们会得到同样的东西。假设应用程序A使用具有权限的pkg.name
permission.RECEIVE
app B使用具有另一权限的相同软件包
CONFIGURE\u SIP
。当他们见面时会发生这种情况吗?(这似乎是一个愚蠢的问题,但我想确认客户端手机中的另一个应用程序也有相同的东西!)

2.发生此错误的其他可能性是什么

  • 应用程序使用签名级安全性定义自定义权限
  • 您尝试使用使用其他密钥签名的版本更新已安装的应用
  • 测试设备运行的是Android 21或更高版本,支持多个用户
  • 我从你那里得到了那12 3!是真的吗?如果是的话,任何关于它们的好解释都是很好的,或者这个错误的其他原因是什么

    在提到的帖子中有很多好的答案!不是问如何解决这个问题!但它是如何产生的!如果我提到/理解了一些错误,请记下来

    多谢各位


    编辑:正如我提到的,请注意,问题来自一个已经在Play Store中的应用程序。关于另一个应用,我不知道!它就在客户端的手机里。可能也是从play store下载的,因为在我尝试在手机上运行之前,甚至开发人员选项都没有激活。他以前也没有我公司的任何应用程序。他只是尝试下载该应用程序,但出现了505个错误并前来修复


    我的第一个选择是删除该权限,因为它使应用程序安装成功(这不是正确的选择,但要确认问题出在哪里)。这就是为什么我需要知道这个错误的可能性

    您的问题不是权限。不可能有两个应用程序具有相同的清单包名称。它必须是唯一的。所以系统认为用户试图用新的签名证书重新安装/更新旧的应用程序。来自android开发者

    如果签名证书发生更改,则在卸载旧版本之前,尝试将新应用程序安装到设备上将失败

    编辑:

    我使用权限运行一些测试。我认为,行为与应用程序包名称非常相似。只有在100%匹配时才会发生错误。结果: 应用程序A(package test.test)和应用程序B(package test.test2)

    package=“test.test”>
    
  • 权限A-test.example.h vs B-test.example.h-replicate\u permissions错误
  • test.example vs test.example.h-成功
  • test.example.g vs test.example.h-成功

  • 使用权限
    不影响错误/安装。但我认为,如果尝试使用其他人的权限,您可以在运行时获得SeciurityException。

    @commonware博客已在以下内容中对此进行了详细解释:

    正如我所知,“L”开发者预览版要求所有应用程序 对于同一个android:name值,使用
    元素进行签名 使用相同的签名密钥。实际的
    protectionLevel
    或其他值 内部的
    并不重要。即使它们是相同的 如果出现以下情况,则尝试定义
    的应用程序将无法安装: 现有安装的应用程序已经定义了
    。明确地 第二个应用程序的安装将失败,并出现错误 安装\u失败\u复制\u权限错误


    这里是@commonware的答案:

    清单包名称不一样。在这种情况下,play store甚至不允许发布应用程序!如果它们在运行时是相同的,android studio会在程序混乱时提示开发者卸载该应用程序!此外,您的回答没有回答我的问题1和2!请回答!当然,我的问题是程序包名的权限,而不仅仅是程序包名。请看主题。查看C2D_消息错误-505,在我的问题中,我问你,如果你从play store下载一个有上述问题的应用程序,当你试着安装时,你将在505处遇到错误。。阅读并回答!!谢谢你的推荐,我一直在寻找他的答案!您应该访问并询问@commonware以了解详细信息。
              package="test.test">
    
    <permission
        android:name="test2.example.h"
        android:protectionLevel="signature" />
    
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="test.test2">
    <permission
        android:name="test.example.hr"
        android:protectionLevel="signature" />