飞凌嵌入式丨Android 应用程序如何获取system权限

当Android应用程序用到重启系统、关闭系统、修改系统时间等功能时,需要用到system权限

本文以OKxx18平台实现重启功能的应用程序PermissionTest为例,说明获取系统权限的方法。

1.首先在app工程的AndroidManifest.xml里添加(PermissionTest工程里已添加):

android:shardUserId="android.uid.system"

然后编译出apk文件,如app-debug.apk(但此文件不能直接安装到开发板使用)。

2.将app-debug.apk文件重命名成“app-debug.apk.rar”,并用压缩软件打开,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件,然后将apk文件重命名回app-debug.apk。

3.在windows下新建目录,如I:\Android_key\forlinx,将2中的apk放入此目录下。

4.复制platform.pk8及platform.x509.pem两个文件到I:\Android_key\forlinx目录下。

platform.pk8及platform.x509.pem来源于android源码的build/target/product/security/目录。

5.复制signapk.jar文件到I:\Android_key\forlinx目录下。

Signapk.jar来源于android源码的prebuilts/sdk/tools/lib/目录。

6.打开windows的cmd命令行,输入以下命令:

>I

>cd Android_key\forlinx

>java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk new.apk

如下图:

 

会在I:\Android_key\forlinx目录下生成new.apk文件,此文件为签名后的文件,具有system权限,在开发板上安装完并打开后,可以重启系统。