让Android程序获得系统的权限,实现关机重启,静默安装等功能

android想要获得系统权限有几种途径,

一种就是你的程序固化的系统中,这种方式可以通过将apk放到rom中/system/app中然后刷机即可,或者是在你的程序root后通过root文件管理器将apk放到改目录下.

第二种就是你的程序必须要有该平台的签名,

那么怎样获得android下的系统签名呢.

首先需要有android的源码,编译出signapk.jar文件,signapk的源码在android源码目录的/build/tools/signapk下,首先需要cd到该目录下,然后通过javac signapk.java命令编译该源文件,得到SignApk$SignatureOutputStream.class和SignApk.class文件,然后手动创建 k/com/android/signapk目录,然后将两个class文件放到该目录下,执行jar cvfm signapk.jar SignApk.mf -C k\ .即可生成signapk.jar文件,得到android提供的签名程序(k\ .之间有空格).

然后是在android源码目录中的位置是/build/target/product/security下面的platform.pk8和platform.x509.pem两个文件(该目录下面还有两个testkey.pk8和testkey.x509.pem文件这两个是系统签名测试文件,第三方rom一般通过使用这个重新签名修改后的rom,上面提到的第一种方法修改完后需要使用该文件签名,不签在某些recovery下是可以通过的,但是还是建议签)

在获得signapk.jar文件和platform.pk8和platform.x509.pem文件后就可以对某个apk进行系统签名了 ,具体执行指令如下,假如需要对名为welen.apk(在此之前,welen.apk文件的生成时必须在AndroidManifest.xml文件中加入android:sharedUserId="android.uid.system",使其获得和系统一样的uid,在加入该属性后如果没有经过系统签名,该apk是无法安装的)的文件进行系统签名,则

java -jar signapk.jar platform.x509.pem platform.pk8 welen.apk welen_signed.apk

使用上面指令即可对welen.apk文件进行签名,签名后的文件拥有系统程序的权限,可执行静默安装卸载,系统关机重启,强制结束进程等操作,具体的关机重启的代码就不写了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值