背景:
上一篇文章分享了GMS全家桶的预制在lineage系统上,文章发布后还是有很多学员朋友纷纷提出更多的更简单的一些方案,在这里也给大家分享一下其他更加简单的两种方案。
使用简单partner包
github上寻找一个相关的partner包(注意因为这个一般要公司和google合作那种才可以下载,公开无法下载)
这个包已经帮我们干了所有的事情,比如预制apk,预制权限xml等,对于我们只需要无脑调用这个目录下的gms-vendor.mk既可以实现gms等整个打包和权限预制。
只需要在device.mk加入一下对这个gms-vendor.mk的调用:
也有一些额外报错如下:
Signature|privileged permissions not in privapp-permissions allowlist
这种就需要看报错缺少啥权限,然后对相关包名的权限进行添加,然后push既可以解决
明显看到这里gms的应用更加多,根本不需要整体预制根本不需要挨个下载apk这种方式,所以这个方法相对更加简单。
lineage os直接输入gms的镜像包:
参考链接
https://wiki.lineageos.org/gapps/
操作步骤
第一步下载对应的 MindTheGapps包
在这里插入图片描述
下载这个zip后就可以和正常的刷机包进行一起刷机就行。
具体刷机方法如下:
先刷入普通的lineage的包
adb sideload lineage-21.0-20240413-UNOFFICIAL-nx563j.zip
等正常的lineage包刷入完成后,在刷入MindTheGapps
adb sideload ~/Downloads/MindTheGapps-14.0.0-arm64-20240925_175633.zip
然后重启既可以
重启后,发现系统一直无法进入出现报错:
10-23 22:57:27.250 3278 3278 D AndroidRuntime: Shutting down VM
10-23 22:57:27.250 3278 3278 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
10-23 22:57:27.250 3278 3278 E AndroidRuntime: java.lang.IllegalStateException: Signature|privileged permissions not in privapp-permissions allowlist: {
com.google.android.gsf (/system/system_ext/priv-app/GoogleServicesFramework): android.permission.READ_LOGS}
10-23 22:57:27.250 3278 3278 E AndroidRuntime: at com.android.server.pm.permission.PermissionManagerServiceImpl.onSystemReady(PermissionManagerServiceImpl.java:4447)
10-23 22:57:27.250 3278 3278 E AndroidRuntime: at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.onSystemReady(PermissionManagerService.java:743)
10-23 22:57:27.250 3278 3278 E AndroidRuntime: at com.android.server.pm.PackageManagerService.systemReady(PackageManagerService.java:4317)
这里需要额外给加上android.permission.READ_LOGS权限到相关的xml,然后进行adb push xml到/system/system_ext/etc/permissions
这种方案就是直接刷入相关人家做好的img,自己基本上没办法来定制,灵活性很差,只能说拿来用的方式。
更多framework请关注“千里马学框架”