解决APK签名问题

文档说明

本文档以SC826-CN-01(MSM8953平台)为例,描述如何解决APK签名问题。

 

问题现象

上层APK调用了重启函数 rebootSystem(),如下图:

提示无权限,也没有相应的重启动作。

reboot动作属于系统层面接口,需要赋予相应的系统签名。

尝试在app对应的AndroidManifest.xml中添加REBOOT权限:

<uses-permission android:name="android.permission.REBOOT" />

还是无权限,提示如下信息:

Package com.zxt.bcm_systemtest has no signatures that match those in shared user android.uid.system; ignoring!]

上述问题,可以通过上层添加系统签名来解决。

这里我们采用另外一种方式来解决签名问题:把android studio编译生成的APK文件放到ubuntu环境下,把APK编译到内核里面。

内核编译APK

把APK名字改成znz.apk

/packages/apps 在这里新建一个文件夹Test,把APK文件放进去。

另外在该目录下新建一个Android.mk,如下图:

APK文件和Android.mk文件见下面附件:

https://uploader.shimo.im/f/6QD2uyaxVREUbbtO.rar?attname=APK%E7%BC%96%E8%AF%91.rar&download

然后返回到Android源码根目录,编译,mmm packages/apps/Test

编译之后,在/out/target/product/msm8953_64/system/app/znz  会生成一个新的znz.apk文件

安装新的znz.apk,执行重启动作,模块重启,不再提示无权限。

发布了16 篇原创文章 · 获赞 3 · 访问量 3194

猜你喜欢

转载自blog.csdn.net/qq_33790215/article/details/101763315
今日推荐