1
Cheons 2018-12-06 23:32:59 +08:00 via Android
我所知能静默安装的只有厂商自家商店.apk ,别的自带更新都需要从商店,包括谷歌。你们家的应用何德何能?
打算自己做 ROM 嘛?还是开发个新系统? 另外能透露下那个公司嘛,我好尽量避开你们家产品 。 谢谢! |
2
leido 2018-12-06 23:38:16 +08:00 via Android
这特么叫什么需求,扯蛋呢
|
3
winterbells 2018-12-06 23:59:30 +08:00 via Android
换领导、找厂商要签名、静默 root 改系统文件哪个简单点==
是公开的应用还是那种定制的设备上跑的?后者的话我是直接找厂商要密钥的,虽然自带 root== 要是公开的应用,你这不相当于病毒吗== |
4
ysc3839 2018-12-07 00:00:06 +08:00 via Android
没记错的话系统应用就可以静默安装,既然都可以修改 system 分区的内容了那装一个无界面的系统应用不就好了吗?
|
5
canrom7 OP 谢谢回复,不要歪了;
然后回:厂商自家的应用商店就是用的 android:sharedUserId="android.uid.system" 方式共享 system 进程实现的静默安装。 |
7
Orciorc 2018-12-07 00:03:59 +08:00 via Android
某个版本以前,可以安装和系统程序包名相同的程序,以获取 root 权限。不过早就封掉了。现在做自动安装的,无障碍模式模拟点击居多。
|
8
zzzmode 2018-12-07 00:05:42 +08:00 via Android
找合作厂商签名
|
9
iAcn 2018-12-07 00:10:31 +08:00 via Android
1. 是公开的应用还是为某个设备单独定制的?
2. 既然已经要去 Root 了为何还要去加 uid 呢? 3. Patch services.jar 的方式非常麻烦。需要处理 odex/vdex/cdex 的合并、国内各种 UI 的兼容性、Android 各个版本的兼容等。弄不好还会开不了机,而且就算备份了,也只能去引导用户手动恢复 |
10
ooh 2018-12-07 00:12:33 +08:00
你们老板连签名都要不来还好意思给你布置这个任务,不会是你当时把话说太满吧...😂
|
11
iAcn 2018-12-07 00:13:37 +08:00 via Android
接上一条。patch jar 的方式实在不推荐。可以参考国内各大市场的做法,Root 的话就 pm install,没有的话就辅助功能(无障碍)模拟去点击那个安装的按钮。
|
15
iAcn 2018-12-07 00:22:31 +08:00 via Android
@canrom7 加 android.uid.system 需要厂商签名;放在 /system/app 或 priv-app 下。手动装肯定是装不上的。
|
17
gam2046 2018-12-07 08:38:03 +08:00 1
android.uid.system 需要应用具有 platforms 或 system 签名。而与安装位置无关,不要求安装为系统应用。
而你提出的方案: 1、ROOT 设备 2、去除签名验证 3、反 ROOT 而当你满足步骤 1 时,已经可以静默安装应用,为何舍近求远呢? |
18
CFM880 2018-12-07 08:55:07 +08:00
有 root 权限后,pm 命令安装也是可以的
|
19
lionseun 2018-12-07 09:18:43 +08:00 via Android
可以找後門,讓系統幫你靜默安裝
|
20
canrom7 OP |
21
liuyanjun0826 2018-12-07 09:26:45 +08:00 via Android
@canrom7 hash 懂吗?
|
22
liuyanjun0826 2018-12-07 09:27:52 +08:00 via Android
你这直接百度就可以,发 V2EX 什么鬼
|
23
xylophone21 2018-12-07 09:36:04 +08:00
看起来你是希望先 root,然后出厂的时候移除 root,但仍保留自己的应用能静默安装。
有没有想过这样每台的交付都会很麻烦。 另外,可以尝试一下自己打包一个只能 pm install 的 su 进去,并且执行前校验来源,不想从头做的话,拿着 su 的代码去改。 |
24
CodingPuppy 2018-12-07 09:47:59 +08:00 via Android
问 rom 平台要签名吧,要不就 root。
|
25
rumengzhenxing 2018-12-07 09:49:26 +08:00
root
|
26
canrom7 OP @iAcn 两个目录都放了,带上 android.uid.system 重启后还是无法安装,不带 android.uid.system 重启后安装上了,但是没有静默 ins 的权限
|
27
liuyanjun0826 2018-12-07 10:00:49 +08:00 via Android
傻逼啊,还是穷疯了,手机又不是土豆,你们在那胡说什么呢😊
|
28
gam2046 2018-12-07 10:04:38 +08:00
@canrom7 正统方法,寻找 OEM 方,请求将你的应用签署 platforms 或 system 签名即可。相比较这是最不折腾的方案。具有签名后,不要求预装,即使后期用户自行安装一样具有该权限。
|
29
LeungV2 2018-12-07 10:10:20 +08:00
前几天客户网上下的一个 APK 也是签名相同的问题不能安装到我们的 ROM,然后拿签名文件签一下就 OK
|
33
skylancer 2018-12-07 15:04:23 +08:00
@liuyanjun0826 精神 Google 产品经理开始精神分裂了嘛
|
34
shily 2018-12-07 17:55:05 +08:00
首先肯定拿不到 OEM 的签名的,否则签名机制就是玩笑了。
参考 #16 楼,应用可以申请 android.permission.INSTALL_PACKAGES 权限,但这个权限仅授予 System 应用(如果能把应用放到 /system/app 下,系统就会认为是系统应用了,android 2.x 是放到 /system/app 下,之后的版本因为不做 OEM 了,不知道放到哪个目录了),这样就可以拥有 INSTALL_PACKAGES 权限了。 设置 android.uid.system 的目的是共享 Settings 这个应用的 UID,Settings 当然有这个权限,所以无论是否申请都具有这个权限,但是限制是,只有系统签名的应用才可以使用同一个 uid,如果不是系统签名就无法安装。 |
35
Trumeet 2018-12-08 11:42:37 +08:00
OEM 签名别想了,第三方想安装只能 ROOT,PM#installPackage 走起,或者 pm install 命令
|
36
Trumeet 2018-12-08 11:42:58 +08:00
而且都有 Root 了,改 service 干啥...
|
37
Trumeet 2018-12-08 11:44:04 +08:00
自己的设备,找领导要签名
友军的设备,让他们去签 /找领导要签名 没有签名 -> 洗洗睡 |
38
wanjunlengfeng 2018-12-26 20:16:36 +08:00
我已经实现了把不需要系统签名验证,直接安装带有 android:sharedUserId 的 app,不过我没有发现 app 好像不具有天然的 root 的权限.而仅仅是相同 UID 权限共享而已.
不知道是不是这种情况? |
39
wanjunlengfeng 2018-12-26 20:21:07 +08:00
实现方式 是通过 XPOSED ,busybox 实现的,你们可以自己尝试下
|
40
canrom7 OP @wanjunlengfeng 是的 uid 用户组属于 system 的权限级别是低于 root 的,但是也可以做很多事情了,相当于 adb 的 shell 的权限了,可以直接启动黑域这类软件,不需要借助 PC 了
|
41
canrom7 OP @wanjunlengfeng 具体的细节方便多透露一些吗? 谢谢你了
|