当前位置: 首页 > news >正文

Android12之apex调试

1.问题

在调试libtinyalsa.so中添加log后,但是发现push so后,却没有log打印,why?

2.分析

以下为libtinyalsa.so的位置

/system/lib64/libtinyalsa.so
/system/lib/libtinyalsa.so
/apex/com.android.vndk.v31/lib64/libtinyalsa.so
/apex/com.android.vndk.v31/lib/libtinyalsa.so
/apex/com.android.vndk.v31@1/lib64/libtinyalsa.so
/apex/com.android.vndk.v31@1/lib/libtinyalsa.so

并且发现/apex目录下全是只读权限,这该怎么整?

3.看下Google对APEX的解释图

在顶层,APEX 文件是一个 ZIP 文件,其中的文件以未压缩的形式存储,且位于 4 KB 边界。

APEX 文件中的 4 个文件如下所示:

  • apex_manifest.json

  • AndroidManifest.xml

  • apex_payload.img

  • apex_pubkey

APEX 命名准则

为了避免伴随平台发展产生的新 APEX 之间的命名冲突,请遵循以下命名准则:

  • com.android.*

  • 为 AOSP APEX 预留。并非任何公司或设备所专用。

  • com.<companyname>.*

  • 为公司预留。可能由相应公司的多台设备使用。

  • com.<companyname>.<devicename>.*

  • 为特定设备(或部分设备)的专属 APEX 预留。

APEX 文件是 APK 文件

APEX 文件是有效的 APK 文件,因为它们是包含 AndroidManifest.xml 文件的已签名 ZIP 归档文件(使用 APK 签名方案)。这允许 APEX 文件使用 APK 文件的基础架构,例如软件包安装程序应用、签名实用程序和软件包管理器。

APEX 中的文件类型及其位置

文件类型

在 APEX 中的位置

共享库

/lib 和 /lib64(在 x86 中,翻译后的 ARM 的位置为 /lib/arm)

可执行文件

/bin

Java 库

/javalib

预编译文件

/etc

也就是说apex的lib库和/system/lib64的system分区系统库已经分离了,可以单独替换。

3.解决方法
# make com.android.vndk.current -j12
# adb install out/target/product/blueline/system/apex/com.android.vndk.current.apex
# adb reboot

相关文章:

Android12之apex调试

1.问题在调试libtinyalsa.so中添加log后&#xff0c;但是发现push so后&#xff0c;却没有log打印&#xff0c;why&#xff1f;2.分析以下为libtinyalsa.so的位置/system/lib64/libtinyalsa.so /system/lib/libtinyalsa.so /apex/com.android.vndk.v31/lib64/libtinyalsa.so /a…...

Python - 数字(Number)数据类型常用操作

目录数字运算类型转换数学函数数学库math、cmathmath 模块常量math 模块方法随机函数库 randomrandom 模块方法保留小数到指定位数三角函数数字运算 &#xff1a;用于给变量赋值type(x)&#xff1a;查看数据所属类型isinstance(x, A_tuple)&#xff1a;判断数据是否为预期类型…...

QT(51)-动态链接库-windows

1.qt- 调用win32 DLL 2.qt- 调用MFC DLL 0概述&#xff1a; 01.扩展DLL&#xff1a; 必须有一个DllMain()函数&#xff0c;且调用AfxInitExtensionModule()函数。 CRuntimeClass类-初始化函数CDynLinkLibrary。02.windows定位DLL文件&#xff1a; 1&#xff09…...

[Vivado那些事儿]将自定义 IP (HDL)添加到 Vivado 模块设计(Block Design)

绪论使用Vivado Block Design设计解决了项目继承性问题&#xff0c;但是还有个问题&#xff0c;不知道大家有没有遇到&#xff0c;就是新设计的自定义 RTL 文件无法快速的添加到Block Design中&#xff0c;一种方式是通过自定义IP&#xff0c;但是一旦设计的文件有问题就需要重…...

开学必备数码清单,大学生开学必备数码好物分享

还有很多小伙伴不知道开学应该准备什么&#xff0c;在学校当中需要用到的数码产品&#xff0c;在宿舍娱乐使用的音箱、学习当中使用到的笔记本&#xff0c;这些都是我们可以准备的&#xff0c;还有一个小众的好物&#xff0c;能够让我们在学校当中提升生活的幸福感&#xff0c;…...

【面试题】常见前端基础面试题(HTML,CSS,JS)

大厂面试题分享 面试题库后端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★地址&#xff1a;前端面试题库html语义化的理解代码结构: 使页面在没有css的情况下,也能够呈现出好的内容结构有利于SEO: 爬虫根据标签来分配关键字的权重,因此可以和搜索引擎…...

Vue (4)

文章目录1. 绑定样式1.1 绑定 class 样式1.2 绑定 style 样式2. 条件渲染2.1 v-show2.2 v-if3. 列表渲染3.1 v-for3.2 key 的作用与原理3.3 列表过滤3.4 列表排序1. 绑定样式 说 绑定样式 前&#xff0c;先准备好 以下几个 样式 : <style>.basic {width: 400px;height: 1…...

静态库和动态库的制作

一、什么叫做库&#xff1a; 库&#xff1a;二进制的程序&#xff0c;能被操作系统载入内存中执行 二、Linux下的库有两种&#xff1a;静态库和共享库(动态库)&#xff0c;二者的不同点在于代码载入的时刻不同。 A、静态库在程序编译的时候并会被连接到目标代码中&#xff0c;程…...

Oracle实现高可用性的工具(负载均衡/故障切换)

Oracle实现高可用性的工具&#xff08;负载均衡/故障切换&#xff09;1 Oracle RAC故障转移负载均衡2 Data Guard负载均衡-读写分离Data Guard Broker3 GDSGSM&#xff1a;连接管理工具主要功能Data Guard Broker功能是监控Data Guard状态&#xff0c;当主库异常时自动切换角色…...

图解经典电路之OCL差分功放-三极管分立器件电路分析

下面从简到繁,从框架到细节的顺序讲解电路。即先讲框架,然后逐渐添加电路细节,所以大家跟上思路。 1、第一步,尽可能的抽象这个电路,等效如下: 图二 OCL等效电路 整个OCL电路,可以等效为一个大功率的运放,加上几个电阻电容构成了一个同向放大器,就是这么简单。 为了便…...

thymeleaf模板注入学习与研究--查找与防御

一、日常编码中常见的两种漏洞场景 1.1 模板参数外部可控 RequestMapping("/path")public String path(RequestParam String lang) {return lang ;}实际开发过程中 依靠我丰富的想象力只能想出 换主题 这种场景下可能会出现 大佬们自行脑补吧。 1.2 使用GetMappin…...

第七章:Linux最小化搭建环境解说2

配置IP地址&#xff1a;我们先要到网卡配置文件夹里&#xff0c;路径是/etc/sysconfig/network-scripts/&#xff0c;有点长&#xff0c;不过没事&#xff0c;我们要学会习惯&#xff0c;这还是经常用的。然后就是用ls命令查看下面有什么&#xff0c;只有一个文件ifcfg-ens160&…...

两道链表经典算法题---链表有无环(基础+进阶)

生活就像一盒巧克力&#xff0c;你永远不知道你会得到什么。——《阿甘正传》目前自己粗略的学完数据结构&#xff0c;正在开始刷算法题目。个人觉得算法是一个积累&#xff0c;循序渐进的的过程&#xff0c;需要不断加量&#xff0c;进而达到所谓的质。链表作为数据结构一个重…...

2023/1/14总结

今天学习的是c语法知识。 容器arry&#xff1a; 通俗来说这个容器就i是c语言的数组&#xff0c;和C中vevtor不同&#xff0c;arry是定长度的&#xff0c;而vector是动态数组。头文件为&#xff1a;<arry> 初始化&#xff1a; arry<数据类型&#xff0c;你所要声明…...

Python 之 NumPy 统计函数、数据类型和文件操作

文章目录一、统计函数1. 求平均值 mean()2. 中位数 np.median3. 标准差 ndarray.std4. 方差 ndarray.var()5. 最大值 ndarray.max()6. 最小值 ndarray.min()7. 求和 ndarray.sum()8. 加权平均值 numpy.average()二、数据类型1. 数据存储2. 定义结构化数据3. 结构化数据操作三、…...

互联网新时代要到来了(一)什么是Web3.0?

什么是Web3.0? tips&#xff1a;内容来自百度百科、知乎、搜狐新闻、李留白公众号、CSDN「Meta.Qing」博客等网页 什么是Web3.0?1.什么是Web3.0&#xff08;概念介绍&#xff09;&#xff1f;2.Web3.0简单理解3.Web3.0的技术特点4.Web3.0项目1.什么是Web3.0&#xff08;概念…...

[Yocto] 直接向deploy/images目录部署binary

最近用yocto的时候碰到一个问题,有一些IP的FW binary是从别的地方直接拿来的,没有source code,有一个需求就是需要把它用wks script的方式把它们打包到最后的image里,这篇文章就是来谈谈这个问题。 yocto patch/deploy等做了什么 首先,虽然我们的code,bbfile,或者说pa…...

HarmonyOS Connect原子化服务功能开发(Wi-Fi/Combo)设备控制开发与实现(二)

规设备控制 在“device”目录下的“DeviceApplication.java”文件中&#xff0c;在onInitialize函数中初始化应用。示例代码如下&#xff1a; Override public void onInitialize() {AiLifeServiceHelper.initApplication(this);DeviceHandlerAbility.register(this, "&qu…...

浅析 Makefile

Makefile逻辑 Makefile就是将一系列的工作流串在一起自动执行&#xff0c;构成Makefile最基本的要素是目标、依赖、命令。也就是为了实现目标需要哪些依赖并执行什么样的命令。 target: dependences1 dependences2 ... command1 command2 ...其中&#xff0c;target表示要生…...

保护品牌线上声誉的5种方法

我们如今生活在一个搜索便捷的世界&#xff0c;对于一个企业和个人来说&#xff0c;品牌的线上声誉也尤为重要。在客户考虑与您的公司开展业务之前&#xff0c;他们理所当然会先使用众多软件和平台搜索相关信息&#xff0c;以帮助他们了解和做决定。 因此&#xff0c;您的品牌…...

如何用AnythingLLM构建企业级知识库:从零到一的完整指南

如何用AnythingLLM构建企业级知识库&#xff1a;从零到一的完整指南 【免费下载链接】anything-llm 这是一个全栈应用程序&#xff0c;可以将任何文档、资源&#xff08;如网址链接、音频、视频&#xff09;或内容片段转换为上下文&#xff0c;以便任何大语言模型&#xff08;L…...

OpenWrt 固件扩容官方指南

[OpenWrt Wiki] Expanding root partition and filesystem OpenWrt针对固件扩容有官方指南&#xff0c;但目前很多网络教程仍然停留在老版本&#xff0c;特此记录。 特点&#xff1a; 1、支持 ext4 和 squashfs 固件格式 2、自动识别根分区和文件系统。 3、利用空闲空间扩…...

【PAT甲级真题】- Speech Patterns (25)

题目来源 Speech Patterns (25) 题目描述点击链接自行查看 注意点&#xff1a; 字母不区分大小写多个答案输出最小字典序的那个 思路简介 简单的哈希表 按照题目的要求搜索到一个单词后就把它放到哈希表当中 然后维护出现次数最多的单词和它的数量即可 遇到的问题 大小写转…...

4个实战场景下的AssetStudio高效资源处理系统:Unity资产逆向工程最佳实践

4个实战场景下的AssetStudio高效资源处理系统&#xff1a;Unity资产逆向工程最佳实践 【免费下载链接】AssetStudio AssetStudio is an independent tool for exploring, extracting and exporting assets. 项目地址: https://gitcode.com/gh_mirrors/ass/AssetStudio A…...

毕设程序java基于的动漫分析与交流平台 基于Spring Boot的二次元文化社区与作品分享系统 Java驱动的ACG内容聚合与互动服务平台

毕设程序java基于的动漫分析与交流平台31sl5luf&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的飞速发展和Z世代文化消费的崛起&#xff0c;动漫产业已从边缘亚文…...

认知雷达前沿技术 从认知到量子:雷达技术的跨范式融合

目录 二、知识图谱解析 关键概念关联说明 三、章节结构层级 四、概念关联与技术成熟度分析 五、核心学术观点提炼 六、关键术语中英对照表 本章探讨了认知雷达(Cognitive Radar)与量子雷达(Quantum Radar)的融合路径,构建了一个从生物启发到量子极限的雷达技术演进框架。…...

深度学习毕业设计题目实战指南:从选题到部署的完整技术路径

最近在帮学弟学妹们看毕业设计&#xff0c;发现一个挺普遍的现象&#xff1a;大家对深度学习的理论热情很高&#xff0c;但一到动手实现&#xff0c;就各种“翻车”。环境配一天&#xff0c;模型跑不动&#xff1b;好不容易跑起来&#xff0c;精度死活上不去&#xff1b;最后模…...

从8小时到15分钟:feishu-doc-export如何重构飞书文档管理流程

从8小时到15分钟&#xff1a;feishu-doc-export如何重构飞书文档管理流程 【免费下载链接】feishu-doc-export 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export feishu-doc-export是一款基于.NET框架开发的飞书文档批量导出工具&#xff0c;通过封装飞…...

C#实战:5分钟搞定Winform鼠标坐标实时追踪(附API对比)

C#实战&#xff1a;Winform鼠标坐标追踪的深度优化与API选择指南 在自动化测试工具开发或屏幕绘图软件构建过程中&#xff0c;精确获取鼠标坐标是基础却关键的功能需求。许多开发者往往只满足于实现基本功能&#xff0c;却忽略了不同API选择对性能、精度和系统兼容性的深远影响…...

Xilinx MicroBlaze软核调试实战指南

1. MicroBlaze软核调试前的环境准备 调试MicroBlaze软核系统就像组装一台微型计算机&#xff0c;需要先准备好所有"零部件"。我经常看到新手开发者直接跳进代码调试&#xff0c;结果发现硬件配置都没完成&#xff0c;白白浪费几个小时。这里分享下我的标准配置清单&a…...