如何迁移或安装普通应用到“系统文件夹(/system/app/)” -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   用户自己安装的应用程序和更新后的系统程序,都被安装在了 data 分区(/data/app),

如何迁移或安装普通应用到“系统文件夹(/system/app/)”

。这些程序都可以迁移到 system 分区(/system/app)。

   但是,为啥要这样做?因为——

   - 节省空间。比如,我的 P6800 系统分区(/system/)的总大小是832M,经过精简后,能空出大概至少220M,甚至更多的空间,这些空间都浪费了。

   - 某些应用,如果要全功能使用,必须安装(迁移)到系统分区。比如一些启动器,小工具,甚至一些状态栏插件等。

   - 在“恢复出厂设置”或双 wipe 后,这些自己安装的应用也会消失无踪;但在系统分区里的,不会给 wipe 掉,这可以给我们剩下很多事情。

   有些经验的机油也知道,直接把 /data/app/ 下的 ".apk" 用 Root Explorer 直接移动到 /system/app/ 下,并修改权限为 0644,就完成了迁移工作。

   但是(总有个但是:),某些应用(其实是很多应用:),这样简单移动后却无法使用了,会强制关闭!

   原因是这些应用还有自己的动态链接库(.so文件),

电脑资料

如何迁移或安装普通应用到“系统文件夹(/system/app/)”》(https://www.unjs.com)。在安卓系统里,用户安装的程序(放在 /data/app/ 下的程序)和系统程序(放在 /system/app/ 下的程序)运行时寻找动态连接库的路径是完全不一样!前者在 /data/data/ 下每个应用程序自己的目录里寻找,后者在 /system/lib/ 目录下寻找。所以,当通过简单复制这些用户程序 apk 到 /system/ 下运行时,就会因为找不到动态链接库而强制关闭。

   解决办法很简单,从这些 ".apk" 文件里(或者在直接在 /data/data/ 对应的子文件夹) 里 lib 目录下提取出这些库文件(.so 文件),迁移到 /system/lib/ 目录下,并修改权限为 0644,然后再把 apk 复制或迁移到 /system/app 下,(原库文件可以删除),就能正常使用了。

   另外,由于类似的原因,如果程序自身还含有字体文件(也在apk或者/data/data/对应的子目录里),,这些也要复制或移动到 /system/font/ 目录下,才能被迁移后的程序找到。

   如果想直接把一个应用安装到系统文件夹,可以把应用 apk 里的库文件、字体文件和 apk 文件分别复制到 /system/ 下的 lib、font 和 app 目录下,就算完成了安装到系统文件夹

   要提醒的是,不管是迁移还是新安装,都要重启一次!

最新文章