
Android
文章平均质量分 93
lzqustc
这个作者很懒,什么都没留下…
展开
-
Android Framework源码解读 - Audio - SoundTrigger(3) - Callback
上一篇Android Framework源码解读 - Audio - SoundTrigger(2)已经完成了SoundTrigger的初始化流程,并在HAL层启动了callback_thread_loop线程来监听内核事件(也就是驱动检测到唤醒词后会上报uevent)。接下来就讲讲这个唤醒事件是如何通过callback方式一层层上报,最终被APK层收到的。既然是callback方式,肯定是会涉及函数或是对象指针,而且是要从源头 - APK层开始一层层把指针设置到HAL层,最终被HAL层的callbac原创 2021-06-27 17:46:56 · 2064 阅读 · 1 评论 -
Android Framework源码解读 - Audio - SoundTrigger(2)
在上一篇中Android Framework源码解读 - Audio - SoundTrigger(1) - AIDL,提到startRecognition如何到达HAL层(主要本例中使用的唤醒词检测驱动来自厂商,HAL层的代码实现也是厂商提供),请看下图:相关代码位于./frameworks/av/soundtrigger/ISoundTrigger.cpp 、./frameworks/av/services/soundtrigger/SoundTriggerHwService.cpp共4步:原创 2021-06-14 22:02:56 · 1887 阅读 · 7 评论 -
Android Framework源码解读 - Audio - SoundTrigger(1) - AIDL
SoundTrigger语音识别架构是Android5.0才引入,在Android7.0逐步完善。官方介绍:https://source.android.google.cn/devices/audio/sound-triggerThe Sound Trigger feature provides apps with the ability to listen for certain acoustic events, like hotwords, in a low-power and privacy-原创 2021-05-30 18:53:14 · 5032 阅读 · 2 评论 -
Android Framework源码解读 - Audio - AudioRecord
AudioRecord is a audio client for receiving data from an audio input device such as a microphone.应用层调用AudioRecord的主要APIs,主要有getMinBufferSize()、new AudioRecord()、startRecording()、getRecordingState()、read()、getState()、stop()、 release(),大致调用步骤如下:静态方法get原创 2021-05-23 18:27:35 · 890 阅读 · 0 评论 -
Android Framework源码解读 - Audio - audioserver启动流程(3)
在上一篇Android Framework源码解读 - Audio - audioserver启动流程(2) - HIDL中已经基本上理清了audioserver启动以及它和另外两个关键进程android.hardware.audio@2.0-service, hwservicemanager的交互关系。其中audioserver启动时创建了三个关键service,前两篇已经涉及到了AudioFlinger service和AudioPolicyService, 而SoundTriggerHwSer..原创 2021-05-23 10:36:49 · 1342 阅读 · 3 评论 -
Android Framework源码解读 - Audio - audioserver启动流程(2) - HIDL
图片来自http://gityuan.com/2019/03/20/android_future/Android 8.0系统(Android Oreo简称 Android O),Google开展了计划(Project Treble),为了解决Android 系统的碎片化问题和提高系统更新的效率,减少framework 和HAL 的耦合性,进而引出了HIDL 的概念。Treble引入后,新增了一个vendor.img,即原先的system分区,被拆分为了system分区和vendor分区,SOC及..原创 2021-05-22 17:53:43 · 3249 阅读 · 4 评论 -
Android Framework源码解读 - Audio - audioserver启动流程(1)
main_audioserver.cpp源码 ./frameworks/av/media/audioserver/main_audioserver.cpp 对应进程 audioserver, 对应的启动rc文件在 /etc/init/audioserver.rc# cat audioserver.rc service audioserver /system/bin/audioserver class main user audioserver group audio c.原创 2021-05-22 16:44:21 · 1460 阅读 · 1 评论 -
Android Framework源码解读 - Audio - 序
https://source.android.google.cn/devices/audioMedia Server: The media server contains audio services, which are the actual code that interacts with your HAL implementations. The media server is located in /frameworks/av/services/audioflinger. Client...原创 2021-05-22 16:15:39 · 651 阅读 · 1 评论 -
Android JNI之OpenSSL
需求: 通过C代码实现Https的Post操作。方案: 1.选择支持HTTPS的开源库OpenSSL 2.将OpenSSL编译成.a或.so,是指在工程中编译源码成链接库 3.C代码调用OpenSSL的接口步骤:1. 工具:OpenSSL源码,NDK,Cygwin2. 关键是Android.mk的设计# Copyright (C) 2...2013-02-07 16:53:09 · 473 阅读 · 0 评论 -
Android 抓包分析
工具准备:1. adb2. tcpdump3. wirshark 步骤:(下面仅适用于模拟器)1. adb root2. adb push c:\tcpdump /data/local/tcpdump 3. adb shell4 # chmod 6755 /data/local/tcpdump /*修改读写权限*/5.开始抓包# cd /data/loc...2013-02-07 16:24:15 · 153 阅读 · 0 评论 -
Android AVD之Socket Connect Time Out
01-28 02:57:11.545: D/TyLogin(297): calling connect01-28 02:57:36.253: I/ActivityManager(59): Process android.process.acore (pid 169) has died.01-28 03:00:03.994: E/CheckinTask(190): Checkin failed:...原创 2013-01-28 11:17:17 · 194 阅读 · 0 评论 -
Android之JNI续
Android NDK, Revision 8d (December 2012)前一篇,简单介绍了使用NDK进行JNI的编程实践,当时使用的NDK版本是1.6_r1(2009),是很早的版本了,相应的toolset也就只包含了少数简单的命令。JNI编程,必然涉及到C编程,那么当Application在C函数中遇到了错误,甚至crash(如Segmentation fault,’Proc...2013-01-28 11:09:22 · 113 阅读 · 0 评论 -
Android之JNI初级篇
Android之JNI初级篇 JNI – Java Native Interface: Java平台中一个用于和本地C代码进行互操作的API,称为Java本地接口。也就是用来实现java程序中调用C函数。实质是将本地C代码编译到一个动态装载库中(如libHello.so/Hello.dll)。 Android JNI: 在Android工程中调用C的过程,称为Native De...2013-01-28 11:04:04 · 136 阅读 · 0 评论 -
我的Android之路
2013.01.06,我回到了老家福建,在福州找了一家软件公司,开启了我的Android开发之路...原创 2013-01-28 10:13:39 · 132 阅读 · 0 评论 -
最新版本(OpenSSL1.0.1e)libssl.so, libcrypto.so for Android
仿造 https://github.com/fries/android-external-openssl 工程,用Cygwin + NDK编译最新OpenSSL(openssl-1.0.1e.tar.gz )。1. 找个有jni的工程,将1.0.1e中解压出来的crypto, include, ssl拷贝到jni目录下。2. 仿造android-external-openssl...2013-03-04 09:24:02 · 835 阅读 · 0 评论