精华内容
下载资源
问答
  • 手机具有root权限,在修改好contacts后,打包好并签好名后,会报安装失败:手机中没有该应用所需的共享用户签名不匹配 请问大侠有什么解决办法?注:其它的应用程序修改好后打包并签好名后可以安装上,为什么...
  • Android权限之 共享UID和签名

    千次阅读 2011-03-13 00:05:00
    Android权限之共享UID和签名

    共享UID

    安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。

    通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样.

     

    对于一个APK来说,如果要使用某个共享UID的话,必须做三步:

    1、在Manifest节点中增加Android:sharedUserId属性。

    2、在Android.mk中增加LOCAL_CERTIFICATE的定义。

    如果增加了上面的属性但没有定义与之对应的LOCAL_CERTIFICATE的话,APK是安装不上去的。提示错误是:Package com.test.MyTest has no signatures that match those in shared user Android.uid.system; ignoring!也就是说,仅有相同签名和相同sharedUserID标签的两个应用程序签名都会被分配相同的用户ID。例如所有和media/download相关的APK都使用android.media作为sharedUserId的话,那么它们必须有相同的签名media。

    3、把APK的源码放到packages/apps/目录下,用mm进行编译。

    举例说明一下。

    系统中所有使用Android.uid.system作为共享UID的APK,都会首先在manifest节点中增加android:sharedUserId="android.uid.system",然后在Android.mk中增加LOCAL_CERTIFICATE := platform。可以参见Settings等

    系统中所有使用Android.uid.shared作为共享UID的APK,都会在manifest节点中增加android:sharedUserId="android.uid.shared",然后在Android.mk中增加LOCAL_CERTIFICATE := shared。可以参见Launcher等

    系统中所有使用Android.media作为共享UID的APK,都会在manifest节点中增加android:sharedUserId="android.media",然后在Android.mk中增加LOCAL_CERTIFICATE := media。可以参见Gallery等。

    另外,应用创建的任何文件都会被赋予应用的用户标识,并且正常情况下不能被其他包访问。当通过getSharedPreferences(String,int)、openFileOutput(String、int)或者openOrCreate Database(String、int、SQLiteDatabase.CursorFactory)创建一个新文件时,开发者可以同时或分别使用MODE_WORLD_READABLE和MODE_WORLD_RITEABLE标志允许其他包读/写此文件。当设置了这些标志后,这个文件仍然属于自己的应用程序,但是它的全局读/写和读/写权限已经设置,所以其他任何应用程序可以看到它。

    关于签名:

    build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:

    1、testkey:普通APK,默认情况下使用。

    2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。

    3、shared:该APK需要和home/contacts进程共享数据。

    4、media:该APK是media/download系统中的一环。

    应用程序的Android.mk中有一个LOCAL_CERTIFICATE字段,由它指定用哪个key签名,未指定的默认用testkey.

    展开全文
  • Android 应用程序共享签名的方法

    千次阅读 2014-03-25 10:42:34
    Android 签名:  安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以...

    Android 签名:

        安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。

    通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样.

    对于一个APK来说,如果要使用某个共享UID的话,必须做三步:

    1、在Manifest节点中增加android:sharedUserId属性。

    2、在Android.mk中增加LOCAL_CERTIFICATE的定义。

    如果增加了上面的属性但没有定义与之对应的LOCAL_CERTIFICATE的话,APK是安装不上去的。提示错误是:Package com.test.MyTest has no signatures that match those in shared user android.uid.system; ignoring!也就是说,仅有相同签名和相同sharedUserID标签的两个应用程序签名都会被分配相同的用户ID。例如所有和media/download相关的APK都使用android.media作为sharedUserId的话,那么它们必须有相同的签名media。

    3、把APK的源码放到packages/apps/目录下,用mm进行编译。

    举例说明一下。

    系统中所有使用android.uid.system作为共享UID的APK,都会首先在manifest节点中增加android:sharedUserId="android.uid.system",然后在Android.mk中增加LOCAL_CERTIFICATE := platform。可以参见Settings等

    系统中所有使用android.uid.shared作为共享UID的APK,都会在manifest节点中增加android:sharedUserId="android.uid.shared",然后在Android.mk中增加LOCAL_CERTIFICATE := shared。可以参见Launcher等

    系统中所有使用android.media作为共享UID的APK,都会在manifest节点中增加android:sharedUserId="android.media",然后在Android.mk中增加LOCAL_CERTIFICATE := media。可以参见Gallery等。

    另外,应用创建的任何文件都会被赋予应用的用户标识,并且正常情况下不能被其他包访问。当通过getSharedPreferences(String,int)、openFileOutput(String、int)或者openOrCreate Database(String、int、SQLiteDatabase.CursorFactory)创建一个新文件时,开发者可以同时或分别使用MODE_WORLD_READABLE和MODE_WORLD_RITEABLE标志允许其他包读/写此文件。当设置了这些标志后,这个文件仍然属于自己的应用程序,但是它的全局读/写和读/写权限已经设置,所以其他任何应用程序可以看到它。




    关于签名:

    build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:

    1、testkey:普通APK,默认情况下使用。

    2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。

    3、shared:该APK需要和home/contacts进程共享数据。

    4、media:该APK是media/download系统中的一环。

    应用程序的Android.mk中有一个LOCAL_CERTIFICATE字段,由它指定用哪个key签名,未指定的默认用testkey.

     

     

    对于使用eclipse编译的apk,可以使用signapk.jar来手动进行签名,其源码在build/tools/signapk下,编译后在out/host/linux-x86/framework/signapk.jar,也可以从网上下载。使用方法,以platform为例:java -jar ./signapk platform.x509.pem platform.pk8 input.apk output.apk  (platform.x509.pem platform.pk8在build/target/product/security获取)


    展开全文
  • android apk安装签名冲突错误解决

    千次阅读 2016-06-08 13:45:23
    一.error: INSTALL_FAILED_UPDATE_INCOMPATIBLE ...,利用一的方法2,完全卸载老应用,但是安装遇到此错误。 解决方法是,把应用的shared.uid一行删掉,重新编译生成apk,再次安装ok。 参考: ...

    一.error: INSTALL_FAILED_UPDATE_INCOMPATIBLE

    实际未完全卸载应用。几个方法:

    1:adb uninstall 包名完成卸载

    2.手动卸载

          adb shell($1:应用名称)

        rm -rf /data/app/$1*.apk
        rm -rf /data/dalvik-cache/data@app@$1*.apk@classes.dex
        rm -rf /data/app-lib/$1*


        导出data/system/package.xml,找到相应package 标签信息,删除后,pull 到data/system/package.xml。

        重启,尝试再次安装

    3.某卫士卸载


    二.error:NSTALL_FAILED_SHARED_USER_INCOMPATIBLE

    我的情况是,apk换了签名之后,利用一的方法2,完全卸载老应用,但是安装遇到此错误。

    解决方法是,把应用的shared.uid一行删掉,重新编译生成apk,再次安装ok。



    参考:

    http://blog.csdn.net/gordonyui/article/details/7431339

    http://blog.csdn.net/jumping_android/article/details/7241217

    http://blog.csdn.net/wqhjfree/article/details/7543694


    展开全文
  • Android权限之三共享UID和签名

    千次阅读 2012-01-14 09:53:24
    共享UID 安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时...

    共享UID

    安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。

    通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的数据库和文件.就像访问本程序的数据一样.

    对于一个APK来说,如果要使用某个共享UID的话,必须做三步:

    1、在Manifest节点中增加android:sharedUserId属性。

    2、在Android.mk中增加LOCAL_CERTIFICATE的定义。

    如果增加了上面的属性但没有定义与之对应的LOCAL_CERTIFICATE的话,APK是安装不上去的。提示错误是:Package com.test.MyTest has no signatures that match those in shared user android.uid.system; ignoring!也就是说,仅有相同签名和相同sharedUserID标签的两个应用程序签名都会被分配相同的用户ID。例如所有和media/download相关的APK都使用android.media作为sharedUserId的话,那么它们必须有相同的签名media。

    3、把APK的源码放到packages/apps/目录下,用mm进行编译。

    举例说明一下。

    系统中所有使用android.uid.system作为共享UID的APK,都会首先在manifest节点中增加android:sharedUserId="android.uid.system",然后在Android.mk中增加LOCAL_CERTIFICATE := platform。可以参见Settings等

    系统中所有使用android.uid.shared作为共享UID的APK,都会在manifest节点中增加android:sharedUserId="android.uid.shared",然后在Android.mk中增加LOCAL_CERTIFICATE := shared。可以参见Launcher等

    系统中所有使用android.media作为共享UID的APK,都会在manifest节点中增加android:sharedUserId="android.media",然后在Android.mk中增加LOCAL_CERTIFICATE := media。可以参见Gallery等。

     

    另外,应用创建的任何文件都会被赋予应用的用户标识,并且正常情况下不能被其他包访问。当通过getSharedPreferences(String,int)、openFileOutput(String、int)或者openOrCreate Database(String、int、SQLiteDatabase.CursorFactory)创建一个新文件时,开发者可以同时或分别使用MODE_WORLD_READABLE和MODE_WORLD_RITEABLE标志允许其他包读/写此文件。当设置了这些标志后,这个文件仍然属于自己的应用程序,但是它的全局读/写和读/写权限已经设置,所以其他任何应用程序可以看到它。


    关于签名:

    build/target/product/security目录中有四组默认签名供Android.mk在编译APK使用:

    1、testkey:普通APK,默认情况下使用。

    2、platform:该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system。

    3、shared:该APK需要和home/contacts进程共享数据。

    4、media:该APK是media/download系统中的一环。

    应用程序的Android.mk中有一个LOCAL_CERTIFICATE字段,由它指定用哪个key签名,未指定的默认用testkey.

    展开全文
  • android签名后的内容共享实现机制

    千次阅读 2014-11-30 18:07:10
    即使process指定了包名,也不会和另一个用户的同名包共享进程。 包名相同: 签名相同:覆盖旧的同包名apk。签名不同:新的apk会安装失败。【签名key一般都是不同的】 UserId相同时: 包名不同...
  • 指定了包名,也不会和另一个用户的同名包共享进程。   包名相同:   签名相同:覆盖旧的同包名 apk 。   签名不同:新的 apk 会安装失败。【签名 key 一般都是不同的】 UserId 相同时:   包名不同:...
  •  即使process指定了包名,也不会和另一个用户的同名包共享进程。  包名相同:  签名相同:覆盖旧的同包名apk。  签名不同:新的apk会安装失败。【签名key一般都是不同的】   UserId相同时: ...
  • APP签名

    千次阅读 2014-01-25 13:45:41
    最近在用Mono开发Android项目时打包APK遇到签名失败,keytool工具错误,一时未解,所以研究用keytool命令生成签名证书并给apk签名,最终成功!闲时将此过程整理成文,以待日后温故知新。 一、APK为什么要签名? ...
  • Android从零单排之签名打包

    千次阅读 2015-05-31 20:24:30
    在现实生活中,签名就相当与合同上的签字和盖章。只有签名之后,才具有一定的效力。如果没有签名,“合同”就没有对象,也就没有法律效力了。为什么要签名?Android系统要求每一个应用程序必须经过数字签名才能安装...
  • 代码签名探析

    千次阅读 2015-09-16 14:52:43
    用户会感激代码签名带来的好处” – Apple Developer Library: Code Signing Guide在 iOS 或 OS X 平台上进行应用开发时,你所需要使用的 API 大多设计得简洁明了。你可以轻易地实现酷炫的动画效果,便捷地进行...
  • ClickOnce,无法在证书存储区中找到清单签名证书的错误提示,应用程序自动更新的方法总结。网址,http://baike.baidu.com/view/1390498.htm,...
  • 如果你的App因为权限原因需要设置 android:sharedUserId="android.uid.system" 那么IDE编译出的包通常是无法直接安装的,查看控制台会发现...这是必须的,随随便便一个App声明一下就可以和系统用户共享ID,岂不乱套了?
  • android studio 签名配置

    千次阅读 2017-08-03 12:26:48
    签署你的应用程序 ...生成密钥和密钥库手动签名APK配置构建过程以自动签名您的APK以不同的方式标示每种产品的味签署Android Wear应用程式 签署注意事项确保你的钥匙 从构建文件中删除签名
  • Oracle 错误总结及问题解决 ORA

    万次阅读 多人点赞 2012-07-08 22:28:45
    ORA 错误大全
  • android 系统签名

    千次阅读 2014-06-24 15:10:18
     安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用...
  • 1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll。 2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名的dll。 3. 强签名无法保护源代码,...
  • 配smb,被第四点坑了很久,特此转载。由于这5点都是比较普通的情况,不涉及用户登录和读写权限问题 1)关闭防火墙: #sevice iptables stop   2)修改 /etc/samba/smb.conf,具体配置网上有,我的如下:
  • boost库asio错误

    千次阅读 2018-10-24 16:53:55
    boost库asio常见错误码 boost::asio::error::bad_descriptor (10009) 在一个已经关闭了的套接字上执行async_receive() boost::asio::error::operation_aborted (995) 正在async_receive()异步任务等待时,本端关闭...
  • 应用程序签名

    千次阅读 2013-01-22 10:27:30
    证书不是用于用户控制哪些程序可以安装。证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的。 理解Android应用程序签名有以下几个重要点: · 所有的应用程序都必须签名。系统...
  • 如果你发现你其他操作没错,签名和微信开放平台的也一致,但是却报了微信应用签名与开放平台不一致的错误。 !!! 那你就要注意了:微信使用的应用签名必须是MD5,不能使用SHA1 ...
  • 数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。...同时设定一把公共密钥(公钥)并由本人公开,为一组用户共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接
  • apk签名不一致终极解决方案

    万次阅读 2020-02-05 22:18:17
    最近,拿到一个android的源文件,由于其gradle版本太低,经过小白的我几番折腾,终于到最新版本上完美运行了,可发现在android上安装时,显示签名不一致,尴尬呀!立刻百度,度了一天,找了很多方法都不管用。只能...
  • Android应用签名

    千次阅读 2014-02-13 23:08:31
    为了要签名?  开发Android的人这么多,完全有可能大家都把类名,包名起成了一个同样的名字,这时候如何区分?签名这时候就是起区分作用的。  由于开发商可能通过使用相同的Package Name来混淆替换已经安装的...
  • [Xcode]iOS代码签名(Code Signing)

    千次阅读 2016-11-14 18:55:50
    数字签名(digital signature)对指定信息使用哈希算法,得到一个固定长度的信息摘要,然后再使用私钥 (注意必须是私钥)对该摘要加密,就得到了数字签名。所谓的代码签名就是这个意思。数字证书(digital ...
  • 普法Android系统各类签名以及关联Key知识

    千次阅读 热门讨论 2020-11-23 16:33:48
           普法Android系统各类签名以及关联Key知识 引言   对于Android的签名机制,无论你是应用开发者还是Android系统层级开发者来说都是一个绕不过的知识点!为什么这么说呢?假如你是应用开发者,你一定...
  • sharedUserId和签名Android权限

    千次阅读 2011-07-14 11:21:59
    也就是说,仅有相同签名和相同sharedUserID标签的两个应用程序签名都会被分配相同的用户ID。例如所有和media/download相关的APK都使用android.media作为sharedUserId的话,那么它们必须有相同的签名media。 3、把APK...
  • android系统APK签名生成大全

    千次阅读 2019-06-03 10:19:52
    最近要做一个重复开关机的专项测试,发现需要系统权限才能实现 1.需要SYSTEM USER 1> android:sharedUserId="android.uid.system 2> <uses-permission android:name="android.... 系统签名 系统...
  • 共享出行业务下的高并发场景

    千次阅读 2018-04-27 23:30:01
    如今不管面试还是项目中都会听到高并发这个词,尽管我没主导设计过千万、亿万级的项目...了解共享出行业务痛点; 了解并发下数据处理; 了解高并发下的服务器设计; 了解高并发下的缓存层; 了解高并发下的数据层。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,775
精华内容 15,510
关键字:

共享用户签名错误