Android studio中的模拟器运行系统应用的方法
本文教大家怎么使用Android studio中自带的模拟器去运行一个system app。因为有时候自己写的应用需要作为system app才能实现某些功能,故需设置为system app
一、创建模拟器
想要app能正常push到模拟器的system/app目录,首先要确保你的模拟器不是带google apis的, 你要打开AVDmanager。 看下图:
因为这种带google apis的,用的系统签名和你在安卓开放源码平台找的platform.pk8 和 platform.x509.pem文件生成的系统签名是不一样的,如何解决呢,可以在创建模拟器时选择x86 images,这个选项里的模拟器有些是没有google apis的
这就创建好了可以安装系统应用的模拟器了,接下来就是如何把apk push到system/app下面了
二、root模式启动模拟器
启动方式也需要修改,不能在Android studio里直接点击启动,需要通过命令启动,需要在SDK这个文件android-sdk/emulator目录下启动cmd输入:emulator.exe -avd Pixel_3a_9.0(模拟器名称) -writable-system
三、怎么生成系统签名
还没有完,要想push到system/app下面的应用可以被正常安装,还需要进行系统签名
在系统源码里拿到 platform.pk8 和 platform.x509.pem,和SignApk.jar放到同一个目录,然后进行签名
在这里给大家推荐一个不错的Android系统源码地址:http://aospxref.com/ 里面的源码不仅可以查看,还能下载,platform.pk8 和 platform.x509.pem 文件在 /build/target/product/security/ 目录下
注意, 按你的安卓版本去找。 我这里是以9.0为例,然后将这两个文件下载下来,H A D的D就是download,signapk.jar这个jar包可以在网上找到
在这个文件夹目录下启动cmd输入:java -Xmx2048m -jar signapk.jar -w platform.x509.pem platform.pk8 原apk地址/名称 签名后apk地址/名称
这样生成的apk就可以push到模拟器的system/app下面了,然后adb reboot重启,重启后看看模拟器里是否有apk应用图标,若没有就再重启一次看看,有时可能需要重启两次才能安装成功
注意:启动模拟器后,通过win+R启动cmd,cmd是可以直接关联到模拟器的,可以通过adb root,adb shell等命令试一下,如果输入的命令没有响应,那么就是系统变量配置问题,可以参考如下配置
path里的配置
完工,有什么问题可以评论区留言沟通