Android系统资源预置

Android系统资源预置

开篇

Android系统预置APK

Android系统预置生成的APK(不带源码)

以预置支付宝apk为例
1.在packages目录下,或者packages/apps目录下新建文件夹,如 waterworld;
2.在 waterworld 目录下新建预置apk的文件夹,如 tcw_alipay_tyw6;
3.将apk 及 apk所使用的ao库文件,提取出来,放在 tcw_alipay_tyw6目录下,并编写 Android.mk文件。
结构如下:
在这里插入图片描述
Android.mk文件内容如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=tcw_alipay_tyw6
LOCAL_MODULE_PATH := $(TARGET_OUT)/app
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_SUFFIX:=$(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT);

4.预置apk有以下几种情况:
1> 如果App使用System Level的permission,需要預置到/system/priv-app底下 (原在/system/app)。
修改Android.mk,增加LOCAL_PRIVILEGED_MODULE := true,以声明app需要放在/system/priv-app下。
2> 签名
LOCAL_CERTIFICATE:= PRESIGNED指用软件自带的签名。对应的LOCAL_CERTIFICATE:= platforms 是指用android源码中的platform对其进行签名
LOCAL_CERTIFICATE指签名方式,如果是platforms,代表签名成系统软件, 如果还是PRESIGND,表示用的是apk原本的签名
3> 可否卸载
1)默认预置apk到system/app/目录,LOCAL_MODULE_PATH:= $(TARGET_OUT_APPS) (或者LOCAL_MODULE_PATH := $(TARGET_OUT)/app) 普通系统apk,不可卸载
2)LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) 放在该目录下的apk可以卸载,卸载后,恢复出厂设置时,应用不会恢复。
3)LOCAL_MODULE_PATH := $(TARGET_OUT)/priv-app/ 放在该目录下的apk可以获得系统权限,系统核心apk,不可卸载(或者加入一句: LOCAL_CERTIFICATE:= PRESIGNED)。
4)LOCAL_MODULE_PATH := $(TARGET_OUT)/preloadapp, 预置APK使得用户可以卸载,并且恢复出厂设置时能够恢复
网上也有资料说 LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app, 预置APK使得用户可以卸载,并且恢复出厂设置时能够恢复。没测试过,但是有人很多人说不行。
5.在device目录下配置apk编译等
APK添加编译:
PRODUCT_PACKAGES +=
tcw_alipay_tyw6 \ (注意如为最后一个apk,不需要 " " )
So库添加编译:
如: PRODUCT_COPY_FILES +=packages/apps/Waterworld/libalipaywear.so:system/lib/libalipaywear.so
参照这个自己修改自己的路径
6.重新编译就可以了

Android系统预置生成APK源码(带源码)

暂未处理过预置源码的,有待后续更新

Android系统预置资源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值