前言

记录一下项目中单独给第三方apk进行签名,主要是用signapk.jar进行签名,记录一下方便自己使用。

正文

这里需要java环境,这个环境的搭建这里不介绍。

签名文件

签名相关文件路径

androidp源码\build\target\product\security

下面简单介绍一下相关的签名文件。(摘抄,看参考文)

platform签名
用途:

platform签名主要用于系统核心应用,这些应用直接与Android操作系统紧密集成,并执行关键的系统级功能。

特性:

在AndroidManifest.xml中通过设置android:sharedUserId=”android.uid.system”表明该应用属于系统进程组,拥有更高的权限。使用platform签名的应用程序通常运行在system UID下,可以直接访问受保护的API和资源,并且可以和其他system用户ID下的应用共享数据。由于这类应用的安全敏感性,它们必须使用由设备制造商或系统开发者持有的私钥进行签名。

media 签名
用途:

media签名主要应用于与媒体处理和下载服务相关的系统组件,比如默认的媒体播放器、下载管理器等。

特性:

同样需要在manifest文件中声明特定的共享用户ID,即android:sharedUserId=”android.media”。这类应用同样享有较高的权限,允许它们执行与多媒体处理相关的核心操作,例如读取和写入多媒体内容,以及管理网络下载任务等。media签名应用虽然不如platform签名应用权限高,但仍然具有超出普通第三方应用的特殊权限。

shared 签名
用途:

shared签名是用于那些需要与其他特定系统进程(如home屏幕或者联系人应用)之间共享数据和资源的应用。

特性:

设置android:sharedUserId=”android.uid.shared”后,应用会以同一个用户ID运行,从而能够互相访问彼此的数据目录。shared签名的应用一般不涉及最底层的系统服务,而是针对系统内部具有一定协作关系的服务或者组件提供数据共享能力。

testkey 签名
用途:

testkey是Android编译系统中的默认签名密钥,当一个APK没有明确指定LOCAL_CERTIFICATE变量时,系统会使用testkey对其进行签名。由于testkey是公开且容易获取的,因此它并不适用于正式发布或安全要求高的应用。

签名命令

java -jar signapk.jar platform.x509.pem platform.pk8 app-old.apk app-new.apk

signapk.jar可以去 《[安卓工具箱_安卓后院](https://www.top139.com/AndroidTools.html》中找[签名工具signapk]下载即可。

签名脚本

下面提供我整理的的签名脚本,亲测有效。当然这个只针对我自己项目而已。

隐藏内容!
付费阅读后才能查看!
2
3
多个隐藏块只需支付一次

参考文章

  1. 安卓系统签名的制作与使用(SignApk.jar)踩坑记录

相关文章

暂无评论

none
暂无评论...