关于预置APK的相关说明

1. 简介
本文档介绍如何配置预置APK的Android.mk,另外特申明所有预置应用禁止使用platform签名, 特殊需求除外

2. 配置应用不可卸载
模板
位置:packages/apps/simple/Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := simple
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_DEX_PREOPT := true
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_PREBUILT)
步骤
是否需要提取 odex?

    LOCAL_DEX_PREOPT := true
是否放置于 priv-app ?

LOCAL_PRIVILEGED_MODULE := true
是否存在 so库?

# 指定编译目标为 32位 或 64位
LOCAL_MULTILIB := ###可选值 /32/64/both
不建议提取, 如运行出错( FAQ:无法找到库导致应用无法启动 ),则提取文件并添加配置

# 编译32位库文件
LOCAL_PREBUILT_JNI_LIBS_arm := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/lib/armeabi/*.so))
# 编译64位库文件
LOCAL_PREBUILT_JNI_LIBS_arm64 := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/lib/arm64-v8a/*.so))
3. 配置应用可卸载
模板
位置:packages/apps/simple/Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := sample
LOCAL_MODULE_TAGS := optional
LOCAL_DEX_PREOPT := false
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app
LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_PREBUILT)

卸载后恢复出厂设置不恢复:

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)

卸载后恢复出厂设置恢复

LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app


步骤
是否存在 so 库? 配置方法如上
是否需要提取 odex ?配置方法如上

 

备注:

签名方式:

LOCAL_CERTIFICATE := PRESIGNED

PRESIGNED 表示apk签名使用原来签名

platform 表示使用系统签名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值