1
a302800411 2017-02-12 11:37:50 +08:00 via iPhone
这都是定制系统,不允许安装 app 这个选项是写在系统源码的配置文件里的。除非有什么漏洞或者后门,否则是没有办法安装的。
|
2
dozer47528 OP |
3
771456556 2017-02-12 12:13:55 +08:00 via Android
@dozer47528 既然能修改刷机包,可以尝试一下直接把它 root 了,然后通过 root 权限安装软件,不过汽车这个东西建议你还是不要乱动,弄个安卓手机导航算了呗
|
4
dozer47528 OP |
5
dphdjy 2017-02-12 12:58:09 +08:00 1
lz 知道 “软件包安装程序“ 已停止运行 这个 bug 吗~
比起改源码,直接把这个 APP 删了,即安装不了应用,又不会和其他部分冲突。 用 adb 就可以安装进去了,或者有权限移动到 app 目录,重启会 ”正在更新应用程序(0/1)“。 刷机也是直接刷到 app 目录,启动自行引导。 不过也可能其他问题~ |
6
ShunYea 2017-02-12 13:01:10 +08:00 2
以前做 ROM 的时候我记得,安装 APK 是靠另一个 APK 来实现的,随便翻看了我以前的 stuff ,华为 C8816 的 system/app 里的 PackageInstaller.apk 就是负责 APK 安装的 APK ,把这个删了应该就无法安装任何 APK 了。印象中记得 360 手机管家好像还自带了类似的程序来接管和代替系统自带的这个 PackageInstaller.apk ,也就是说原系统的找不到你可以找第三方的 PackageInstaller.apk 。
其他机型的不一定是这个名字 PackageInstaller.apk ,你自己推敲。 |
7
ShunYea 2017-02-12 13:02:44 +08:00 1
直接把 APP 放刷机包里再刷机,竟然是可以运行的。
也就是做 ROM 时候直接集成到 system/app 里,相当于一次性安装好了。所以肯定能运行,所以应该再次证明这个 ROM 只是删掉了 PackageInstaller.apk ,个人猜测。 |
8
freestyle 2017-02-12 13:19:41 +08:00 via iPhone
既然能刷机肯定能 root 把 apk 扔进 /system/app 下,然后解压 apk 里的*.so 文件放到 /system/lib 下,这样就可以手动安装到系统 刷增量包只是把这个过程打包成刷机脚本
|
9
dozer47528 OP @ShunYea PackageInstaller.apk 还在的,我继续看看还有哪动了手脚
|
10
springz 2017-02-12 15:41:18 +08:00
adb 连上直接 install 应该是可以的吧
|
11
springz 2017-02-12 15:42:12 +08:00
adb 用不了的话拆开看看,肯定有串口直接连上电脑就是 root 用户
|
12
Jasmine2016 2017-02-13 15:15:59 +08:00
一开始我想的是「未知源」这个开关。
|
13
dozer47528 OP @Jasmine2016 这个开关可以打开,能安装,但是到了最后显示:安装未成功
|
14
k332159915 2017-02-27 15:31:21 +08:00
@dozer47528 应该跟我这个问题是一样的 https://www.v2ex.com/t/343446 系统对应用签名有限制。
|
15
dozer47528 OP @k332159915 如果是这个问题的话,为什么直接放在刷机包的 /data/app 目录下,是可以正常使用的?
|
16
k332159915 2017-02-27 16:03:04 +08:00
@dozer47528 正常情况下安卓系统的安装机制应该是通过 PackageInstaller.apk 处理 apk 包并检验签名文件,这个步骤有助于检查本机是否有相同包名或者相同签名的文件(我猜的),然后这个机器固件应该有签名白名单之类的设定,只能指定签名文件才能通过 PackageInstaller.apk 的检测,所以签名不符合是通过不了的,到最后都会提示应用未安装。复制大法是直接将应用 cp 到 /app 目录下,这一步就跳过了 PackageInstaller.apk 这个检测环节,当然是可以成功的。
|