Android系统中,权限等级分为

["normal" | "dangerous"| "signature" | "signatureOrSystem"]

normal 、dangerous是一般apk都在Mainifest中声明即可获取的

signature必须要有系统级别的签名才能够获取到

signatureOrSystem 有系统级别签名或者有系统权限

以SET_PREFERRED_APPLICATIONS为例

使用signapk为APK签名

addPreferredActivity需要权限 android.permission.SET_PREFERRED_APPLICATIONS(权限等级为【signature】)

使用该权限需要signapk进行签名,所需要的工具

源码包中

1)..\out\host\linux-x86\framework\signapk.jar

2)..\build\target\product\security\platform.pk8

3)..\build\target\product\security\platform.x509.pk8

将以上3个文件以及需要签名的APK放到同一个目录中

cmd -> java -jar signapk.jarplatform.x509.pem platform.pk8 LauncherDemo.apk Launcher_sign.apk

该权限以需要具有系统权限的应用,所以需要使用源码编译该应用

完成后可使用普通install方法安装应用,并可使用zipalign对APK进行优化

zipalign目录 android-sdk\tools\zipalign.exe

l  优化对齐APK

cmd ->zipalign -v 4 old.apk new.apk

l  验证对齐

cmd ->zipalign -c -v 4 new.apk

以上最张输出 Verification succesful 则表示优化对齐成功

源码编译APK共享系统UID

这种方法无需声明权限SET_PREFERRED_APPLICATIONS

1)在Mainfest文件中增加

android:sharedUserId="android.uid.system"

2)Android.mk文件中增加

LOCAL_CERTIFICATE := platform

编译完成后,使用push方式安装应用

Android.mk:

#Copyright 2007-2008 The Android Open Source Project

LOCAL_PATH:=$(call my-dir)

include$(CLEAR_VARS)

LOCAL_SRC_FILES:= $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME:= LauncherDemo

LOCAL_CERTIFICATE:= platform

include$(BUILD_PACKAGE)

# Use thefolloing include to make our test apk.

include$(call all-makefiles-under,$(LOCAL_PATH))

原文:http://blog.csdn.net/weiwei5910/article/details/38531725

android apk获取权限,Android apk 获取系统权限的方式相关推荐

  1. 通过apk签名使应用程序有系统权限

    问题: 系统预装软件,需要访问一些配置文件,配置文件的owner都是设置为system.所以应用程序需要有授权才可以读写. google搜索找到以下文章,解决了这个问题. 以下内容解释了: andro ...

  2. 【Android 逆向】Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )

    文章目录 一.Linux 权限简介 二.系统权限 / 用户权限 / 匿名用户权限 1.系统权限 2.用户权限 3.匿名用户权限 一.Linux 权限简介 Linux 是基于文件的系统 , 内存 , 设 ...

  3. Android 系统(80)---Android 8.0 7.0 6.0 动态权限管理

    Android 8.0 7.0 6.0 动态权限管理 1.Android6.0之后运行时权限策略变化 从Android6.0(API23)开始,对系统权限做了很大的改变,在之前用户安装app前,只是把 ...

  4. Android 7.0上app所需高级权限的解除限制的方法

    ---- by Shengwen.Wei 一.    概述 随着移动互联网的发展,用户对于自身的信息安全越来越重视,基于此,android系统对于用户自身的信息安全特别是android M(6.0)以 ...

  5. 获取比Administrator还高的权限——SYSTEM权限

    获取比Administrator还高的权限--SYSTEM权限 设置PsTool环境 常用命令 以系统权限打开cmd 以系统权限打开explorer(其实也是桌面) 首先,我们会用到PsTool中的P ...

  6. Android车载嵌入式操作系统(Android Automotive)

    摘要: 大家最熟悉的Android系统应该是手机和平板设备上的,大部分人可能没想过Android系统和汽车有什么关系.但实际上,Android系统在四年前就在布局汽车这个平台.我最近对相关内容做了一些 ...

  7. android手机桌面管理,Android桌面管理

    Android_launcher 最近在研究安卓桌面管理,顺便写个小桌面管家demo 下面是效果图: image image 桌面管家是对设备上的App进行定制动态管理,屏蔽所有系统设置入口,根据权限 ...

  8. Oracle 数据库查看具有sysdba系统权限用户,设置、重置sys用户密码

    sysdba 是系统权限,dba 是用户对象权限. 用 sysdba 系统权限身份登录后再用 show user 命令即可看到哪个用户有系统权限了. alter user 用户 identified ...

  9. oracle对象权限 函数,oracle的系统和对象权限

    alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...

最新文章

  1. 禅道 php api,禅道 Rest API 开发
  2. 小明分享:8ms平台入门教程
  3. 代码 控制unity 暂停 编辑器_Unity3D 报错解决方案及常用功能收集
  4. 高斯混合模型(Gaussian Mixture Model)
  5. 装修仿720VR全景平台网站源码
  6. 产品经理应该mysql_数据库对产品经理的重要性
  7. RedAlert简介
  8. java ajax 进度条_java使用ajax实现进度条
  9. Python爬虫编程实践Task 01
  10. django前后端数据交互
  11. Windows下VB6.0开发——VB程序断点调试与顺序执行不一致问题(通信原因)
  12. 第4章 最基础的分类算法-k近邻算法 kNN 学习笔记 下
  13. MySQL 新增、修改、删除 字段 sql语句
  14. 人工智能标记语言AIML聊天机器人:产生、种类、应用、实例、AIML概述、知识库、公司、业界(20k字经典收藏版)
  15. 【读点论文】ViTGAN: Training GANs with Vision Transformers 将视觉transformer和gan结合起来
  16. Linux/Unix下Shell快捷键操作大集合
  17. 不想用百度云,那就教你自建属于自己的云盘!
  18. 2020年度个人总结--一个前端技术LD的年终盘点
  19. python爬虫selenium-前程无忧
  20. 超详细的Spring Boot教程,搞定面试官!

热门文章

  1. 自然语言处理NLP-100例 | 第三篇:骚扰短信识别 MultinomialNB实现(内附源码)
  2. 如何求解问题--数据结构与算法入门
  3. Python编程基础:第四十九节 鸭子类型Duck Typing
  4. 深入理解Python字符编码--转
  5. Understanding JVM Internals---不得不转载呀
  6. Lesson 16.4 卷积遇见深度学习
  7. 暴富、投机,金钱、欲望、人性,一个叫 Fomo3D的游戏正在刷新你的世界观
  8. 深度研究 | 区块链在征信业的应用探讨:切中了痛点,但也面临四大挑战
  9. mysql 有always on么,mysql 关于时间类型的刨坑之路
  10. Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson