今天的需求的是安装一个apk

 

第一次使用命令安装adb install xxx.apk,报错误:安装包是system UID的,安装失败。

 

第一反应是这是个系统应用,要root权限安装,于是改用模拟器安装,新建了一个8.0 Google play的模拟器,发现不能root,查阅资料得标识Google play的image是不能root的,所以又下载了7.0Google API的image,可root。

 

问题来了,要安装系统应用,根据以往经验要把apk拷贝到/system/app下去安装,于是很自然使用命令mount -o rw,remount /system重新把system挂载为可读写模式,多次尝试,发现第一次命令执行成功,mount命令查看权限时已经为rw模式,但是拷贝时还是会报read only file system,再次mount查看,又变回ro状态。

 

各种Google,发现有些系统会限制读写权限,用adb disable-verify可以取消限制,然而试过之后,无效。。。

 

尝试新建不同版本的模拟器,均是x86或x86_64类型,无果。。。

 

尝试新建5.0、arm类型,成功,总结出来挂载文件是dev/block/vda的就不行,/dev/block/xxxxxxx一堆字母的就可以。。。。

 

然而问题又来了,arm类型的模拟器超级超级超级慢,home键到桌面都能anr。。。官方也建议使用x86的,arm的这种根本无法使用。。

 

打算放弃之际试了一下直接adb install,居然成功,原来只是权限时system UID的apk只要root后就能直接安装,系统签名的apk是要拷贝到/system下。。。白白折腾一下午。。。

 

但是模拟器无法修改/system权限这个大坑还是无解。。。Google你们太坏了。。。 

posted on 2018-01-08 15:42  冰幻孤影  阅读(751)  评论(0编辑  收藏  举报