Android push app to systemapp

Android push app to systemapp,第1张

个人想要了解一下关于系统权限方面的知识,而我又天真地以为只要把app push到/system/app/目录下,app就有系统签名了,也就能获取到系统权限了。但是其实这样是不行的。。。算了,学一下adb命令也行。

参考: How to install user apps as Android system apps

想要把app放到已有系统的/system/app/目录下,有两种方式:

无论是哪种方式,前提手机都要root过才行 ,那么,先来学习如何root。

想要了解root原理的可以看下: Android 的提权 (Root) 原理是什么

可以使用刷机精灵、kingroot等来root手机,个人更推荐 kingroot ,因为我试了刷机精灵失败了,kingroot成功了。

验证root是否成功只需要进入adb shell 然后su切换为root用户,看是否$变成#了,命令行的开头用户名也会变成root,如下所示:

手机root过后就能开始push了,手机系统是android 51

参考: android 安装apk 到 /system/app下面

可以进到/system/app/目录下,ls查看有没有对应的apk,这里我就不贴出来了。到了这一步,我们已经把apk放到/system/app/下了,但是我们还要安装该app呀,执行pm install?不用,这里只需要把对应的apk文件变成可读写可执行,然后重启一下手机,该apk就会自动安装了。可以adb shell后进入/system/app/目录执行ls -l查看对应apk的权限,我看了一下默认移进来后只是可读写,不可执行,所以如果不修改文件权限的话当然就不会安装了。

重启后发现桌面多了一个app,且是不可卸载的,那就代表成功了。

从系统目录中移除文件也是要root权限的,手机root后进入adb shell,切换为root用户,进入/system/app/目录rm 对应文件,然后重启就可以了,如下所示:

如果不行,重新挂载mount -o remount /system,再rm。

答案:我root没成功,所以没下文了。。。

虽然adb shell连接模拟器的时候直接显示的就是root用户,但是实际上 *** 作的时候还是跟没root一样,装了kingroot上去,好久都没成功。于是我又参考 android 模拟器root 这篇文章试了下,在修改读写权限时失败,报以下错误:

查了下说要在sdk\emulator下用命令行启动模拟器,再执行,果然可以了。

第四步push的时候还是提示

个人理解: *** 作system目录不是需要root权限吗,上面所做的目的就是为了获取root,但是命令中又包含需要root才能执行的命令,这行不通吧?(个人见解)

关于push 到/system/app/的知识总结就到这里了,下面要开始验证文章开头我的困惑了。

方法如下:

1、打开拨号界面。

2、点击电话,启动拨号界面,然后输入“##8255##”即可进入GTalk Service

Monitor界面了。

红圈圈住的便是Device ID了。

什么是Device ID?

Android ID用于唯一识别一部设备的一次刷机行为,虽然不能完全确定该设备的唯一性(真的唯一性是用IMEI号的),但是可以很大程度上过滤重复设备。这是移动互联网广告行业的基础,尤其是CPI广告,设备ID是非常重要的。CPI广告是按照实际的安装数量结算的,广告主可以用android id来排除重复的安装。能否传递android id直接影响某些广告是否能在某些地方投放。在RTB行业中,有很多第三方提供数据的公司,他们买卖数据也都是靠的android的id将各种数据对应到用户身上。

以上就是关于Android push app to /system/app/全部的内容,包括:Android push app to /system/app/、如何查看自己安卓手机的Android Device ID、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9341427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存