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文件进行签名,签名后的文件拥有系统程序的权限,可执行静默安装卸载,系统关机重启,强制结束进程等操作,具体的关机重启的代码就不写了





http://hljdrl.sinaapp.com/?p=224

更多相关文章

  1. android文件系统及其制作
  2. Android中如何反编译apk文件
  3. Android平台上如何让应用程序获得系统权限以及如何使用platform
  4. Android应用程序通用自动脱壳方法研究
  5. android 手机安装应用程序(APK)权限详细对照表
  6. Android多媒体--访问网络上的Audio对应的M3U文件,实现网络音频流
  7. 文件操作二

随机推荐

  1. 杂谈汇总(更新...)
  2. Android(安卓)移动终端camera 防偷*拍设
  3. 7、从头学Android之TextView控件
  4. Android(安卓)进程保活
  5. 如何把自己规划成高级android开发工程师?
  6. Android(安卓)- ToolBar详解
  7. Android开发规范
  8. Android(安卓)webview加载html页面根据点
  9. Android(安卓)9.0 系统启动流程
  10. Android(安卓)实现语音识别