公司由于业务需要,要求app能调用一些隐藏的Api在,好在我们和平板厂家合作的比较深入,拿到了系统签名文件。在此记录一下使用的方法。

首先,想使用隐藏的api需要这样一句话

    android:sharedUserId="android.uid.system"

放在这里

 

 

 

这句话的意思是,告诉系统,我这个app属于系统进程,我拥有更高的权限,我可以调用隐藏的api。但要注意的是,系统权限和root权限不是一回事。

加上了上面这句话,我们就可以编译一个debug版本的apk出来,像这样

 

 

 接下来是进行系统签名,首先要拿到这样几个文件,

分别是  platform.pk8   platform.x509.pem    signapk.jar,其中platform.pk8   platform.x509.pem这两个文件需要大家问自己合作的厂家去要,signapk.jar我可以给大家

链接: https://pan.baidu.com/s/1JN5-5szugZPFhfRNQ3B0XQ 提取码: z4x7 

 大家自己去下载就行了。

然后大家需要搞定adb环境,这个问题应该都不大,大家都是开发安卓的,所以,adb我就不放教程了。

然后,把上面你打出来的debug包和那三个文件放在同一个目录下,像这样

 

 

然后打开命令行,执行这句话,

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

 

签完名的apk会在同目录下,这样就可以了。

 那么,系统权限能干嘛呢?首先能调用隐藏的api,其次,签名之后,你不需要考虑任何权限的问题,所有的权限你都能使用,而且,不会出现弹窗。还有像一些app静默安装,强制安装,强制卸载等等功能都可以用了。

需要可以帮到你们,以上。