如何在 Android ROM 中禁止安装 APP?然后让所有刷了这个 ROM 的系统都无法安装 APP?

2017-02-12 11:28:17 +08:00
 dozer47528
其实,我真正想知道的是,我的车载系统是一个被阉割过的 Anoroid ,它不允许装 APP 。
但是论坛里有人试验了一下,直接把 APP 放刷机包里再刷机,竟然是可以运行的。
所以,有人知道怎么去掉这个限制吗?这样我的车载系统就可以直接装 APP 了,而不用刷机了。

帖子在这里:
http://club.autohome.com.cn/bbs/thread-c-859-60328815-1.html
13132 次点击
所在节点    Android
16 条回复
a302800411
2017-02-12 11:37:50 +08:00
这都是定制系统,不允许安装 app 这个选项是写在系统源码的配置文件里的。除非有什么漏洞或者后门,否则是没有办法安装的。
dozer47528
2017-02-12 11:42:19 +08:00
@a302800411
有道理,可能用的不是通用的解决方案。
看它没有防范的很严格,或许配置就是个文本文件,我全文搜索看看。
771456556
2017-02-12 12:13:55 +08:00
@dozer47528 既然能修改刷机包,可以尝试一下直接把它 root 了,然后通过 root 权限安装软件,不过汽车这个东西建议你还是不要乱动,弄个安卓手机导航算了呗
dozer47528
2017-02-12 12:21:12 +08:00
@771456556
root 什么的不是很懂,没研究过 android ,回头上班了找公司里的同事看看。

网友已经实现改包装上高德导航了,其实已经很满足了,只是每次更新 app 有点麻烦而已。
dphdjy
2017-02-12 12:58:09 +08:00
lz 知道 “软件包安装程序“ 已停止运行 这个 bug 吗~

比起改源码,直接把这个 APP 删了,即安装不了应用,又不会和其他部分冲突。

用 adb 就可以安装进去了,或者有权限移动到 app 目录,重启会 ”正在更新应用程序(0/1)“。

刷机也是直接刷到 app 目录,启动自行引导。

不过也可能其他问题~
ShunYea
2017-02-12 13:01:10 +08:00
以前做 ROM 的时候我记得,安装 APK 是靠另一个 APK 来实现的,随便翻看了我以前的 stuff ,华为 C8816 的 system/app 里的 PackageInstaller.apk 就是负责 APK 安装的 APK ,把这个删了应该就无法安装任何 APK 了。印象中记得 360 手机管家好像还自带了类似的程序来接管和代替系统自带的这个 PackageInstaller.apk ,也就是说原系统的找不到你可以找第三方的 PackageInstaller.apk 。
其他机型的不一定是这个名字 PackageInstaller.apk ,你自己推敲。
ShunYea
2017-02-12 13:02:44 +08:00
直接把 APP 放刷机包里再刷机,竟然是可以运行的。

也就是做 ROM 时候直接集成到 system/app 里,相当于一次性安装好了。所以肯定能运行,所以应该再次证明这个 ROM 只是删掉了 PackageInstaller.apk ,个人猜测。
freestyle
2017-02-12 13:19:41 +08:00
既然能刷机肯定能 root 把 apk 扔进 /system/app 下,然后解压 apk 里的*.so 文件放到 /system/lib 下,这样就可以手动安装到系统 刷增量包只是把这个过程打包成刷机脚本
dozer47528
2017-02-12 15:06:08 +08:00
@ShunYea PackageInstaller.apk 还在的,我继续看看还有哪动了手脚
springz
2017-02-12 15:41:18 +08:00
adb 连上直接 install 应该是可以的吧
springz
2017-02-12 15:42:12 +08:00
adb 用不了的话拆开看看,肯定有串口直接连上电脑就是 root 用户
Jasmine2016
2017-02-13 15:15:59 +08:00
一开始我想的是「未知源」这个开关。
dozer47528
2017-02-13 15:39:10 +08:00
@Jasmine2016 这个开关可以打开,能安装,但是到了最后显示:安装未成功
k332159915
2017-02-27 15:31:21 +08:00
@dozer47528 应该跟我这个问题是一样的 https://www.v2ex.com/t/343446 系统对应用签名有限制。
dozer47528
2017-02-27 15:51:36 +08:00
@k332159915 如果是这个问题的话,为什么直接放在刷机包的 /data/app 目录下,是可以正常使用的?
k332159915
2017-02-27 16:03:04 +08:00
@dozer47528 正常情况下安卓系统的安装机制应该是通过 PackageInstaller.apk 处理 apk 包并检验签名文件,这个步骤有助于检查本机是否有相同包名或者相同签名的文件(我猜的),然后这个机器固件应该有签名白名单之类的设定,只能指定签名文件才能通过 PackageInstaller.apk 的检测,所以签名不符合是通过不了的,到最后都会提示应用未安装。复制大法是直接将应用 cp 到 /app 目录下,这一步就跳过了 PackageInstaller.apk 这个检测环节,当然是可以成功的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/339882

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX