android id 重名_Android App 自定义权限重名不能安装解决办法

news/2024/7/1 3:33:43

场景1.

A 应用 有两个版本 第一个 正式版 第二个测试版    测试版的包名 = 正式版+test ,在Android studio 中 也就是 applicationId  。

两个版本都可以成功的安装在手机上,也就是说 在手机上可以有 两个 A 应用。

场景2

由于某些原因,A 应用要改包名,重新做一个正式版的应用。也就是要在手机上安装两个 正式版的A.

我对新的应用A 改了包名 配置 重新签名打包 ,意想不到的结果出现了,不能成功安装两个A 应用,提示 android APP 安装失败 应用自定义权限重名  还有一些说是魅族的锅之类相似的问题。

最后看到这么一句话

拥有相同自定义权限的软件必须使用同样的签名,否则后一个程序无法安装。

这个也就解释了 为什么 A 的正式版和开发版 为什么能安装在手机上 而不提示 应用自定义权限重名,应为用了同一个签名。

我做的新的A 应用,用了新的签名,再加上自己没有改掉清单文件中含有android:protectionLevel="signatureOrSystem"  的配置的包名

A  之前的配置

android:name="com.a.permission.MIPUSH_RECEIVE"

android:protectionLevel="signatureOrSystem"/>

那么改掉之后的A的配置

android:name="com.a.new.permission.MIPUSH_RECEIVE"

android:protectionLevel="signatureOrSystem"/>

记得改新包名的时候 所有相关的地方都要仔细查看。


http://lihuaxi.xjx100.cn/news/245818.html

相关文章

Fragment提交transaction导致state loss异常

下面自从Honeycomb发布后,下面栈跟踪信息和异常信息已经困扰了StackOverFlow很久了。 java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.j…

cocos2d-x在win7下的android交叉编译环境

cocos2d-x在win7下的android交叉编译环境 前面把Visual StudioPython开发环境配好了,但还没有讲如何在Android中使用创建好的项目,本篇博客介绍如何在win7下进行Android与cocos2d-x的交叉编译,我的电脑是64位,所以下面的配置是基于…

Python 安装selenium

一、报错信息 No module named selenium 二、系统环境 操作系统:Win10 64位 Python版本:Python 3.7.0 三、安装参考 1、使用pip安装selenium pip install selenium 安装不成功 2、网上下载selenium, 地址:http://pypi.python.org/pypi/seleni…

mysql 密码清楚_mysql 密码清除

安装了一个Mysql ,安装完成时提示:PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !To do so, start the server, then issue the following commands:/usr/bin/mysqladmin -u root password new-password/usr/bin/mysqladmin -u root -h localhost.localdomain p…

解决oracle11g安装导致数据库无法自动搜集统计信息-转

近期发现个别11G数据库无法自动收集统计信息,部分视图查询结果如下: SQL> select client_name,status from dba_autotask_client where client_name auto optimizer stats collection;CLIENT_NAME STATUS -----------------------------------------…

APICloud:让你的APP边框显示原生的1px

2019独角兽企业重金招聘Python工程师标准>>> APICloud无疑已是相当火的APP开发工具了,面对从web到移动APP转变的开发者可能有很多小常识并不是特别熟悉,比如这个border。怎样让1px更细,看起来像原生的?下面教大家一个方…

pynput使用简单说明

控制鼠标 1 from pynput.mouse import Button, Controller2 import time 3 4 mouse Controller()5 print(mouse.position)6 time.sleep(3)7 print(The current pointer position is {0}.format(mouse.position))8 9 10 #set pointer positon 11 mouse.position (277, 645) …

git revert和git reset的区别

git revert 是撤销某次操作,此次操作之前的commit都会被保留git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区具体一个例子,假设有三个commit, git st:commit3: add test3.ccommit2: add test2.ccommit1: add test…