RK3399 android8.1 编译第三方APK到系统镜像中

第一部分:不带 lib 的第三方APK

一、添加第三方APK

        android8.1/packages目录下,新增thirdpart/music文件夹。将apk文件放入 music 文件夹下。

同目录下新增Android.mk文件 :

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := MusicDemo
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := app_e.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)
                                                  

生成的apk默认放在 system/app 目录下,不可卸载。

如果想指定目录可以修改LOCAL_MODULE_PATH :

LOCAL_MODULE_PATH := $(TARGET_OUT)/vendor/operator/app APK在system/vendor/operator/app目录下,可卸载,出厂设置可恢复。

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) APK在data/app目录下,

可卸载,出厂设置不可恢复。

LOCAL_MODULE_PATH := $(TARGET_OUT)/priv-app 或者 LOCAL_PRIVILEGED_MODULE := true 

APK在system/priv-app 目录下 不可卸载。

在 packages/thirdpart目录下 新增device.mk:

# apps
PRODUCT_PACKAGES +=    \
                       MusicDemo

二、修改编译信息(与添加第三方APK无关,不必要)

android8.1/device/rockchip/rk3399/rk3399_firefly_mid 目录下 新增 build_id.mk文件

export BUILD_ID=TE-Project-2022
export BUILD_NUMBER=$(shell date +%Y%m%d)
export BUILD_PLATFORM=RK
export BUILD_PRJ_NAME=TEProject
export BUILD_PRJ_TYPE=D
export BUILD_PRJ_NUMBER=TEProject2022
export BUILD_DATE=$(BUILD_NUMBER)
export BUILD_SF_VERSION=V01.00_$(BUILD_DATE)
export BUILD_HW_VERSION=V01.00_20220801

三、添加到系统编译文件中

修改android8.1/device/rockchip/rk3399目录下rk3399_firefly_mid.mk

#by mode
include device/rockchip/rk3399/rk3399_firefly_mid/build_id.mk //修改编译信息(不必要)

$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
include device/rockchip/rk3399/rk3399_firefly_mid/BoardConfig.mk
# Inherit from those products. Most specific first.
$(call inherit-product, device/rockchip/rk3399/device.mk)
$(call inherit-product, device/rockchip/common/device.mk)

#by mode
$(call inherit-product, packages/thirdpart/device.mk)  //添加自定义Module

第二部分:不带 lib 的第三方APK

一、添加第三方APK

android8.1/packages/thirdpart目录下新建soapk文件夹,添加第三方Apk文件 soApk.apk

二、添加so库

解压APK文件,提取lib文件夹,放在soapk文件夹下。

 根据自己的设备选择不同文件夹下的 so文件

也可以动态选择获取当前设备信息

my_archs := arm arm64
my_src_arch := $(call get-prebuilt-src-arch, $(my_archs))

新建Android.mk文件

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := SoApk
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := soApk.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_PREBUILT_JNI_LIBS :=lib/arm64-v8a/libJniLib.so
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)

三、添加MODULE

在android8.1/packages/thirdpart目录下device.mk 添加

# apps
PRODUCT_PACKAGES +=    \
                       MusicDemo \
                        SoApk
                                                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值