让android应用程序获得system权限一般有两种方法

方法一:

   需要在android源码下面编译应用

  把应用XXX放到源码packages/app目录下,为该应用增加Android.mk文件,指定LOCAL_CERTIFICATE := platform

   AndroidManifest.xml中的manifest加入android:sharedUserId="android.uid.system“

  然后cd到该应用文件夹下,用mm命令编译,生成XXX.apk

  这个方法还是比较简单的,但需要有android源码,并且我在用开发板进行开发时(我的应用里引用了第三方静态库),用这种方法编译会出错,无奈只能换第二种方法

方法二:

   在manifest节点中加入android:sharedUserId="android.uid.system"

   打开生成的XXX.apk删掉META-INF目录下的CERT.SF和CERT.RSA两个文件

  找到密钥文件,在源码build/target/product/security下面的platform.pk8和platform.x509.pem两个文件

  找到源码out/host/linux-x86/framework/signapk.jar

  执行java -jar signapk.jar platform.x509.pem platform.pk8 XXX.apk  XXXnew.apk

  用adb install XXXnew.apk

用方法一会出错,用方法二就可以了,运行XXX应用后,ps命令查看XXX的user,显示为system,则说明修改成功了


更多相关文章

  1. Android 源码修改按键长按响应间隔
  2. 【Android】Android SDK下载和更新失败的解决方法!!!
  3. 【Android 系统开发】 编译 Android文件系统 u-boot 内核 并烧写
  4. Android平台上的计算器APP(付源码)
  5. 彻底解决Android 应用方法数不能超过65K的问题
  6. android 获取路径目录方法以及判断目录是否存在,创建目录
  7. 【Android 开发】:Android五种布局的使用方法
  8. Android gradle build 修改文件名称及目录
  9. 【Android】源码分析 - Handler消息机制再梳理

随机推荐

  1. MySQL分区字段列有必要再单独建索引吗?
  2. Ubuntu下MySQL安装及配置远程登录教程
  3. MySQL 清除表空间碎片的实例详解
  4. navicat不能创建函数解决方法分享
  5. 使用navicate连接阿里云服务器上的mysql
  6. mysql数据存储过程参数实例详解
  7. MySQL中or语句用法示例
  8. Mysql中explain作用详解
  9. 详解mysql中的冗余和重复索引
  10. MySQL语句加锁的实现分析