- 博客(6)
- 收藏
- 关注
原创 ARM64函数运行时的反汇编
加载/存储架构: 除了专门的加载(Load)和存储(Store)指令外,其他指令不能直接操作内存。即:ADD X0, [X1] 是非法的,必须分两步:LDR X0, [X1] 然后 ADD X0, X0, X2。指令长度: 所有指令都是 32位(4字节) 定长的。LDP X0, X1, [X2], #16 // 从 X2 指向的地址加载 X0 和 X1,然后 X2 = X2 + 16。LDR X0, [X1], #8 // 从 X1 的地址加载,然后执行 X1 = X1 + 8(后变基)
2025-09-26 17:48:45
744
原创 Android 音频框架
摘要:Android音频框架采用分层架构,包含应用框架层(Java API)、本地层(C++核心服务)和硬件抽象层(HAL)。音频数据流经AudioTrack的write()方法,通过JNI桥接转入Native层,最终由AudioFlinger管理混音和输出。关键流程包括:1)Java层参数校验;2)JNI数据转换;3)Native层通过共享内存实现进程间通信;4)AudioFlinger进行混音处理;5)HAL层对接具体硬件驱动。该框架通过代理模式、条件变量等机制实现高效同步,支持多种音频模式和设备路由策
2025-09-02 20:33:28
1229
原创 linux/win共享文件夹访问
如果你使用的是 SELinux 或 AppArmor 等安全模块,可以根据需要进一步限制 SMB 访问的权限。你可以为 Samba 配置安全策略,确保只有授权用户能够访问。确保 SMB 用户使用强密码,避免使用简单的密码或默认密码。检查 Samba 用户权限,确保只有授权用户才可以访问共享文件夹。定期检查 Samba 的安全日志,以便及时发现任何异常或潜在的攻击尝试。现在,你需要配置一个共享目录。在 Samba 配置中禁用匿名访问,以确保只有已认证的用户才能访问共享资源。首先,确保你的系统是最新的。
2025-06-04 15:33:04
856
原创 Android蓝牙通话
相对于传统为语音通话的HFP蓝牙协议,可以提供更好音质和立体声效果,但A2DP协议本身一般仅用于音乐播放,无法实现双向音频数据传输,也就无法仅靠A2DP协议实现通话。可以理解为建立虚拟的通话,例如微信电话,QQ 电话等。:LE Audio 支持同时连接多个音频设备,例如,允许一个源设备同时与多个蓝牙耳机配对,避免了传统蓝牙在音频设备数目增加时可能出现的连接不稳定或质量下降的问题。技术支持的音频传输标准,主要目的是提供低功耗、高质量的无线音频传输,广泛应用于耳机、音响、电视、智能设备等领域。
2024-12-27 18:27:39
2316
原创 Android.mk/Android.bp
Android.mk是Android源码中提供的一套用于编译Android系统、子模块的基于makefile语法规则的脚本文件。一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile就像一个Shell脚本一样,也可以执行操作系统的命令 --《百度百科:makefile》
2024-06-13 14:24:31
2517
原创 adb调试技巧
日志查看清除所有的缓存日志:adb locat -c 或 adb locat -c all 或 adb logcat -c main events radio system crash查看日志:adb logcat -v threadtime | grep -iE "&TAG1|&TAG2|..."查看日志(window不支持grep,测试同事用方便):adb logcat -s &TAG1 -s &TAG2。
2024-06-13 14:10:27
2102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅