文档章节

给Android程序签署platform权限的名

吃草小蚁
 吃草小蚁
发布于 2013/11/28 11:15
字数 357
阅读 178
收藏 5

    做Home程序的时候,由于需要提供时间日期的设置功能,所以需要修改系统时间。修改时间的代码很简单,就那么一句,但是要让它生效可就不那么容易了。
    修改系统时间的条件是,你的程序的user id必须跟system一样,也就是说,需要system权限。
    怎样达到这个条件呢?
    Android提供了sharedUserId来设置程序归属哪个user id,我们在程序的manifest文件里面加上如下属性

Xml代码    收藏代码
  1. android:sharedUserId="android.uid.system"  

    这样还不行,因为这样编译出来的apk安装不了。还需要签名。

    签名需要用到的文件是源码中的build\target\product\security目录下的platform.pk8和platform.x509.pem两个文件。然后使用\prebuilts\sdk\tools\lib\signapk.jar来签名。这三个文件打包放到附件了。

    在cmd下面,运行

Java代码    收藏代码
  1. java -jar signapk.rar platform.x509.pem platform.pk8 a.apk a_signed.apk  

     a.apk是待签名的apk,a_signed.apk是签名后的apk。这样,如果你的代码里面有用到需要platform权限的功能,就可以畅通无阻了。


    当然,可能不同的系统platform.pk8和platform.x509.pem文件不一样,但是我手里的三个平板电脑都是用这两个文件签名的,运行正常。

© 著作权归作者所有

共有 人打赏支持
吃草小蚁
粉丝 15
博文 64
码字总数 111499
作品 0
深圳
高级程序员
私信 提问
[IBM DW] 理解 Android 上的安全性

开发 Android 应用程序时,必须处理很多与安全性相关的方面,包括应用程序进程和沙箱、代码和数据共享、通过应用程序签名达到的系统保护,以及权限使用。在您使用样例代码时,突出强调了 An...

红薯
2010/12/15
5.2K
2
Android 安全访问机制

Android是一个多进程系统,在这个系统中,应用程序(或者系统的部分)会在自己的进程中运行。系统和应用之间的安全性通过Linux的 facilities(工具,功能)在进程级别来强制实现的,比如会给...

鉴客
2011/11/18
241
0
浅入浅出 Android 安全:第六章 Android 安全的其它话题

第六章 Android 安全的其它话题 来源:Yury Zhauniarovich | Publications 译者:飞龙 协议:CC BY-NC-SA 4.0 在本章中,我们会涉及到与 Android 安全相关的其他主题,这些主题不直接属于已经...

apachecn_飞龙
2016/12/02
0
0
Android平台上如何让应用程序获得系统权限以及如何使用platform密钥给apk签名

Android中许多函数只能是系统程序或者有root权限的程序才可以调用,否则会有"Permission denied"异常。所以如果开发时要调用此类函数,必须授予程序root权限。下面是两种具体的实现方法,来自...

长平狐
2012/08/28
2.3K
1
9种常见的Android开发错误及解决方案

整理总结了9个Android开发中的错误以及解决方案,共同探讨进步! 1. 如果你的项目的R文件不见的话,可以试下改版本号在保存,R文件不见一般都是布局文本出错导致. 2. 布局文件不可以有大写字母...

拉偶有所依
2015/01/21
411
0

没有更多内容

加载失败,请刷新页面

加载更多

什么时候使用字节流、什么时候使用字符流,二者的区别

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。 InputStream 和OutputStream,...

watermelon11
48分钟前
4
0
Alpakka Kafka,反应式Kafka客户端

Alpakka Kafka 是一个要用于 Java 和 Scala 语言的开源的流感知和反应式集成数据线项目。它建立在 Akka Stream之上,提供了 DSL 来支持反应式和流式编程,内置回压功能。Akka Streams 是 Re...

羊八井
今天
4
0
PHP7源码编译安装详解

$ yum groupinstall "development tools"$ yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype \freetype-devel libpng libpng-devel libxml2 ......

问题终结者
今天
5
0
Django学习笔记-从创建虚拟环境到启用服务

1 前置条件 windows系统下,目前已经完成anaconda3或miniconda3的安装,这也意味着已经完成了python3的安装。 2 创建虚拟环境 1、通过Anaconda Prompt,使用conda命令创建虚拟环境(base) e...

davidwbnu
昨天
4
0
python学习04:函数的定义及基本使用

python可以像c++一样,可以直接定义函数。具体格式如下: def(关键字) 函数名(形参01,形参02...): do_something... #如果有返回值,则调用以下语句 return 返回值...

太空堡垒
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部