【Android 12 AOSP学习】Android内置第三方apk到系统

本文介绍在Android系统中内置第三方APK的方法,包括创建文件夹、编辑Android.mk文件、配置编译系统等步骤,并提供了常见错误及其解决办法。

这篇文章将介绍如何在Android系统中内置第三方apk

一、准备工作

  • 编译好的Android源码
  • Android apk文件:也就是安卓应用安装包

二、步骤

(1)在源码packages/apps目录下以我们需要内置的APK名字来创建一个新的文件夹

qqmusic.apk 为例,在Android_12_AOSP/packages/apps目录下新建qqmusic文件夹

cd Android_12_AOSP/packages/apps/
mkdir qqmusic

(2)将 qqmusic.apk 放入建好的文件夹中,在文件夹中创建 Android.mk 文件

cd Android_12_AOSP/packages/apps/qqmusic/
touch Android.mk

(3)编辑 Android.mk 文件内容,内容如下

LOCAL_PATH:=$(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := CarSkin.apk
LOCAL_MODULE_CLASS := APPS
#可以为user、eng、tests、optional,optional代表在任何版本下都编译
LOCAL_MODULE_TAGS := optional
#编译模块的名称
LOCAL_MODULE := CarSkin
#可以为testkey、platform、shared、media、PRESIGNED(使用原签名),platform代表为系统应用
LOCAL_CERTIFICATE := PRESIGNED
#不设置或者设置为false,安装位置为system/app,如果设置为true,则安装位置为system/priv-app?
LOCAL_PRIVILEGED_MODULE := false
#module的后缀,可不设置
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
# 关闭预编译,不会生成OAT文件
LOCAL_DEX_PREOPT := true
LOCAL_PRODUCT_MODULE := true
include $(BUILD_PREBUILT)


# Test
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := qqmusic
LOCAL_MODULE_CLASS := APPS
#可以为user、eng、tests、optional,optional代表在任何版本下都编译
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_DEX_PREOPT := nostripping
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#不设置或者设置为false,安装位置为system/app,如果设置为true,则安装位置为system/priv-app
LOCAL_PRIVILEGED_MODULE := true
#可以为testkey、platform、shared、media、PRESIGNED(使用原签名),platform代表为系统应用
LOCAL_CERTIFICATE :=  platform
#覆盖安装
#LOCAL_OVERRIDES_PACKAGES := DeviceTest RKDeviceTest
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MULTILIB := 32
#LOCAL_REQUIRED_MODULES :=
#JNI_LIBS :=
#$(foreach FILE,$(shell find $(LOCAL_PATH)/lib/ -name *.so), $(eval JNI_LIBS += $(FILE)))
#LOCAL_PREBUILT_JNI_LIBS := $(subst $(LOCAL_PATH),,$(JNI_LIBS))

include $(BUILD_PREBUILT)


预装带源码的APP到系统

Android.bp文件

// Android依赖导入
android_library_import {
    name: "com.google.android.material_mater
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值