Android 13 aosp 预置三方应用apk

2024-04-08 09:52

本文主要是介绍Android 13 aosp 预置三方应用apk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 前提条件

编译启动 launch 选择了 sdk_pc_x86_64-userdebug 该版本

  1. 添加一个三方预置应用

Android_source/vendor/third_party/MdmLib/MdmLib.apk

  1. 配置三方应用对应的Android.mk

Android_source/vendor/third_party/MdmLib/Android.mk

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := MdmLib
LOCAL_MODULE_STEM := MdmLib.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_PATH := $(TARGET_OUT)/app
LOCAL_SRC_FILES := MdmLib.apk
# LOCAL_MULTILIB :=32 因为编译选择的是64位,需去掉,卡了半天才发现是这个属性导致
include $(BUILD_PREBUILT)

参考:

Android.mk 中的模块定义 您可以使用 LOCAL_MULTILIB 变量将 build 配置为适用于 32 位/64位架构,并替换全局 TARGET_PREFER_32_BIT 变量。 将 LOCAL_MULTILIB 设置为以下其中一项:
“both” 同时构建 32 位和 64 位架构。
“32” 仅构建 32 位架构。
“64” 仅构建 64 位架构。
“first” 仅构建第一个架构(在 32 位设备中构建 32 位架构,在 64 位设备中构建 64 位架构)。
默认为 “”。构建系统根据模块类和其他LOCAL_ 变量(如 LOCAL_MODULE_TARGET_ARCH 和 LOCAL_32_BIT_ONLY)决定要构建哪种架构。

  1. 配置对应厂商定制mk

Android_source/vendor/third_party/third_party.mk

PRODUCT_PACKAGES += \MdmLib\
  1. 根据编译版本在device下添加对应的mk配置:

Android_source/device/generic/goldfish/x86_64-vendor.mk

include device/generic/goldfish/x86_64-kernel.mk
# add third_party config
include vendor/third_party/third_party.mkPRODUCT_PROPERTY_OVERRIDES += \vendor.rild.libpath=/vendor/lib64/libgoldfish-ril.so# This is a build configuration for a full-featured build of the
# Open-Source part of the tree. It's geared toward a US-centric
# build quite specifically for the emulator, and might not be
# entirely appropriate to inherit from for on-device configurations.
PRODUCT_COPY_FILES += \device/generic/goldfish/data/etc/config.ini.xl:config.ini \device/generic/goldfish/data/etc/advancedFeatures.ini:advancedFeatures.ini \device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json \$(EMULATOR_KERNEL_FILE):kernel-ranchuPRODUCT_SDK_ADDON_COPY_FILES += \device/generic/goldfish/data/etc/advancedFeatures.ini:images/x86_64/advancedFeatures.ini \device/generic/goldfish/data/etc/encryptionkey.img:images/x86_64/encryptionkey.img \$(EMULATOR_KERNEL_FILE):images/x86_64/kernel-ranchuPRODUCT_COPY_FILES += \device/generic/goldfish/data/etc/configs/gpu.config:data/misc/gceconfigs/gpu.config# a hack to reduce presubmit time where CTS tries to install media files one by one
# taking more than 30 minutes; following is just the list of files needed by current
# tests on presubmit
PRODUCT_COPY_FILES += \device/generic/goldfish/data/media/test/swirl_136x144_mpeg4.mp4:data/media/0/test/CtsMediaTestCases-1.4/swirl_136x144_mpeg4.mp4 \device/generic/goldfish/data/media/test/swirl_132x130_mpeg4.mp4:data/media/0/test/CtsMediaTestCases-1.4/swirl_132x130_mpeg4.mp4 \device/generic/goldfish/data/media/test/swirl_130x132_mpeg4.mp4:data/media/0/test/CtsMediaTestCases-1.4/swirl_130x132_mpeg4.mp4 \device/generic/goldfish/data/media/test/swirl_144x136_mpeg4.mp4:data/media/0/test/CtsMediaTestCases-1.4/swirl_144x136_mpeg4.mp4 \device/generic/goldfish/data/media/test/swirl_128x128_mpeg4.mp4:data/media/0/test/CtsMediaTestCases-1.4/swirl_128x128_mpeg4.mp4PRODUCT_PROPERTY_OVERRIDES += \ro.crypto.dm_default_key.options_format.version=2PRODUCT_SHIPPING_API_LEVEL := 33
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false
TARGET_USES_MKE2FS := truePRODUCT_COPY_FILES += \device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu

效果如下
在这里插入图片描述

这篇关于Android 13 aosp 预置三方应用apk的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/885257

相关文章

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手