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

相关文章

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 中手

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.

从基础到高阶详解Python多态实战应用指南

《从基础到高阶详解Python多态实战应用指南》这篇文章主要从基础到高阶为大家详细介绍Python中多态的相关应用与技巧,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、多态的本质:python的“鸭子类型”哲学二、多态的三大实战场景场景1:数据处理管道——统一处理不同数据格式

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按