«

Android 5.0上两个签名不一致的APP不能声明相同的permission

时间:2024-3-2 19:42     作者:韩俊     分类: Android


在Android L之前两个签名不一致的APP可以在AndroidManifest.xml中声明相同的Permission,但是在Android L上,声明了同样的Permission的两个签名不一致的APP不能同时安装。

举个例子:

(1)第一个APP的AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test"
    android:versionCode="1"
    android:versionName="1.0" >
    <permission android:name="com.test.permission.TEST"
        android:protectionLevel="dangerous" />
    ......

(2)第二个APP的AndroidManifest.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.test.hellojni"
      android:versionCode="1"
      android:versionName="1.0">
    <permission android:name="com.test.permission.TEST"
        android:protectionLevel="dangerous" />
    ......

(3)使用两个不同的签名文件(keystore,可以百度如何生成keystore文件)分别对两个APP进行签名。
(4)安装其中的一个APP,在安装第二个APP时,打印如下log:
Package com.test.hellojni attempting to redeclare permission com.test.permission.TEST already owned by com.test
如果使用adb 命令 adb install则会报出类似于如下错误:
Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.test.permission.TEST pkg=com.test]

版权声明:本文为博主原创文章,未经博主允许不得转载。

标签: android

热门推荐