Android |
您所在的位置:网站首页 › product里怎么删除priv-app › Android |
添加google服务 我们自己的ROM里没有google服务 完整的google包里包含google框架和各种服务,我们可以选择性安装模块 在google包里products目录下,有一个 gms.mk 文件(或者自己起名字) gms.mk管理着要安装的各个模块,找到关键字PRODUCT_PACKAGES PRODUCT_PACKAGES后面跟着的就是要安装的模块 截取部分来看看: PRODUCT_PACKAGES+= \ AndroidForWork \ ConfigUpdater \ GoogleBackupTransport \ GoogleFeedback 一般会在device/corecompany/yourproductname/ 目录中存放.mk文件 corecompany指代芯片厂家,比如高通,MTK 可能是 device.mk ,也可能是 yourproductname.mk ;这个文件会被Makefile找到 这个mk文件中会引用 gms.mk (或者自己起名字) 需要把 gms.mk的路径写对,编译时会自动找到 1 $(call inherit-product- if -exists, vendor /google/products/intel_gms .mk)本例中google包放在vendor目录下
观察 vendor/google/apps/GmsCore 里的 Android.mk 文件 LOCAL_PRIVILEGED_MODULE := true 这个设置表示,GmsCore模块装入system/priv-app 如果没有这个设置,模块会装入system/app 可以在模块目录mm编译,看看会装在哪个目录 priv-app里能获得系统权限,安卓4.4后有了这个划分
小结: 1. 找个地方把google包放进去,比如vendor/google 2. 选择要安装的google服务,修改gms.mk文件 3. 修改device/corecompany/yourproductname/中相应的mk文件,引用gms.mk 4. 把out目录删掉,或者只删去相应模块 5. 编译
添加第三方Launcher 想在ROM中添加第三方Launcher,和添加google服务模块类似 假设这是一个没有源码,只有apk的Launcher:ThirdLauncher.apk 可仿造google服务模块的mk文件编写Launcher的mk文件 比如GoogleFeedback的 Android.mk 如果Launcher需要系统权限,记得加上 LOCAL_PRIVILEGED_MODULE := true
小结: 1. 找个地方把ThirdLauncher.apk放好,比如vendor/yourcompany/ThirdLauncher/ 2. 编写好Launcher的mk文件;注意是否需要系统权限;mm编译验证一下 3. 在device/corecompany/yourproductname/中相应的mk文件中加入ThirdLauncher 4. 删去out目录下相应模块,重新全编译 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |