android framework
文章平均质量分 69
坚持就有希望
他强任他强,我是路人王!
展开
-
audio_policy_configuration.xml 解析
https://blog.csdn.net/u012188065/article/details/84104275https://blog.csdn.net/yangchangwen/article/details/78336282https://blog.csdn.net/weixin_33739541/article/details/86013080https://blog....原创 2020-01-11 17:11:48 · 398 阅读 · 0 评论 -
Android音乐播放模式切换-外放、听筒、耳机
Android音乐播放模式切换-外放、听筒、耳机发表于2015-09-20 | 3条评论最近比较忙,好久都没有更新博客!最近由于项目需求要做音乐播放模式的切换,经过好多次尝试,发现这里面满满的都是坑啊,所以就写一篇日志记录下来,也给大家分享下遇到的坑及解决办法.场景需求在聊天场景中,收到对方语音时,用户可以选择外放播放,也可以选择插入耳机收听.更人性化一点当用户把手机靠...转载 2020-01-10 15:27:35 · 1348 阅读 · 1 评论 -
Android下的音频通道配置文件mixer_paths.xml
audio一般集成在pmic上,如mic(mic1_p,mic1_n,mic_bias 主mic)aux_mic(mic2_p,mic2_n,mic_bias,辅mic,用来降噪,手机不一定有该mic)headphone(headmic_bias,headmic_p,headmic_n,headmic_in_det,headset_in_det,hp_l,hp_r,kamp_vcom ...转载 2020-01-10 15:26:10 · 1213 阅读 · 0 评论 -
Android FrameWork 系统源码调试
这是很久以前访问掘金的时候 无意间看到的一个关于Android的文章,作者更细心,分阶段的将学习步骤记录在自己博客中,我觉得很有用,想作为分享同时也是留下自己知识的一些欠缺收藏起来,今后做项目的时候会用到。好了,废话不多说了。直接来吧。。Android 7.0系统源码下载\编译:http://blog.csdn.net/cjpx00008/article/details/67185045(...转载 2018-11-17 18:36:34 · 706 阅读 · 0 评论 -
解决java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__register_atfork" “***.so”
一般是由于NDK版本和Android Studio版本不匹配,需要集成版本相互匹配的NDK原创 2018-12-02 09:17:54 · 7122 阅读 · 0 评论 -
AudioPolicy和AudioPolicyService
Audio内部系统从上到下包含各方面的东西。对于声音输出的设备的选择与切换,我们主要需要关注2个地方。第一处,是外接设备如耳机,蓝牙设备等连接的通知。第二处就是Audio系统中核心的AudioFinger与AudioPolicyService的处理内容。AudioFinger是Audio系统的工作引擎,管理者系统中输入输出音频流,并承担音频数据混音,以及读写Audio硬件等工作以实现数据的输入输...原创 2018-11-25 16:11:25 · 370 阅读 · 0 评论 -
MediaPlayer-MediaPlayerService-MediaPlayerService::Client的三角关系
摘要:1.MediaPlayer 是客户端2.MediaPlayerService和MediaPlayerService::Client是服务器端。 2.1MediaPlayerService实现IMediaPlayerService定义的业务逻辑,其主要功能是根据 MediaPlayer::setDataSource输入的URL调用create函数创建对应的 Player.2.2MediaPla...转载 2018-11-30 07:49:53 · 600 阅读 · 0 评论 -
android 源码分析打开mic
1、demo AudioManager audioManager = (AudioManager)getSystemService("audio"); audioManager.setMode(AudioManager.STREAM_MUSIC);//设置声音模式 audioManager.setMicrophoneMute(true); //打开麦克风 权限:<u...转载 2018-12-25 18:03:55 · 1999 阅读 · 0 评论 -
Android音频相关源码中的基本概念如采样率、sco device、AudioPatch
https://blog.csdn.net/ouyangtianhan/article/details/47023353https://blog.csdn.net/hugewaves/article/details/83247195https://blog.csdn.net/mao0514/article/details/79172152https://blog.csdn.net/bh...原创 2019-02-12 22:38:58 · 814 阅读 · 0 评论 -
android 跨进程多实例播放demo
摘要: 客户端进程需要实现,其中notify方法需要service跨进程调用,通知客户端播放消息 IMediaPlayerClient.aidlpackagecom.example.demo;importcom.example.demo.ParcelableParcel;interfaceIMediaPlayerClient{ voidnotify(intmsg,intext1,in...转载 2019-02-03 09:56:43 · 666 阅读 · 1 评论 -
MTK平台mk文件编译问题
当需要独立编译一个应用,需要用到SettingsLib文件中的文件和framework内部资源,makefile文件编写如下:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-v7-preferenceLOCAL_MODULE_...原创 2019-02-12 22:27:59 · 722 阅读 · 0 评论 -
android7.0编译解决OOM问题
在Android7.1编译过程中出现如下错误: Starting build with ninjaninja: Entering directory `.' [ 0% 8/30301] Ensure Jack server is installed and startedJack server already installed in "/home/guochongxin/.jac...原创 2019-02-12 22:34:46 · 701 阅读 · 0 评论 -
android app引用framework drawable资源
@*android:drawable/ic_*原创 2019-04-25 16:32:05 · 524 阅读 · 0 评论 -
ubuntu下adb devices下找不到设备
Ubuntu使用adb shell有时候会找不到设备,配置adb的直接看Step4即可,那一步也许是问题的关键。另外请先打开设置中的usb 调试。Step 1:在终端运行 lsusb,找到对应设备的一行:Bus 003 Device 085: ID 0fce:5146 Sony Ericsson Mobile Communications ABStep 2:输入一下命令...原创 2018-11-20 20:27:56 · 821 阅读 · 0 评论 -
android系统启动时间优化概述
android系统启动时间优化主要优化两部分一个是PMS去解析安装包的过程,另一部分是Zygote预加载资源和类这个过程,但是想要具体分析就必须知道开机时间的各个标志:如图: ...原创 2018-11-11 18:33:21 · 540 阅读 · 0 评论 -
android平台修改默认签名
简介在做cts测试的时候就会发现必须修改平台签名才能测试通过关于签名的问题.这是因为平台默认的是test签名.网上大多说签名的都是app签名而非平台签名.test签名这种类型的key只适用于开发阶段,而且这种秘钥是公开的,谁都可以使用。当发布一款android产品,就需要另外给整个系统签个名,防止被别人盗用。这种系统就是release版本的Android系统。这里就简单记录下方法....转载 2018-10-15 19:16:55 · 1600 阅读 · 0 评论 -
android平台签名总结
mk中的android:sharedUserId和LOCAL_CERTIFICATE作用(一)Android中如何修改系统时间(应用程序获得系统权限)在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open al...转载 2018-10-15 19:36:08 · 1545 阅读 · 0 评论 -
android系统Launcher启动时机
今天有空研究了一下系统启动流程中的Launcher启动时机,有必要给大家分享一下阅读代码的成果;首先我们知道系统启动先会生成init进程,init进程会去启动各种守护进程类似usbd,adbd等,同时将启动Zygote进程,而之后Zygote进程会去起SystemServer进程,这个SystemServer是启动大部分服务的进程,同时将这些服务注册到ServiceManager中,其实应该能...原创 2018-10-15 20:05:38 · 1554 阅读 · 0 评论 -
android源码中c++代码添加android命名空间
namespace android { // 源码}; // namespace androidnamespace 是c++的一个标识符,表示定义一个全局空间。android代码把整个android工程看作一个namespace。原创 2018-10-17 18:11:30 · 352 阅读 · 0 评论 -
android硬件抽象层(HAL)详解
今天给大家讲一下android框架中的硬件抽象层HAL(hardware abstract layer),硬件抽象层在软件与硬件之间起到了桥梁作用,作为一个framework工程师是必须掌握的,如果你是一个应用软件工程师或者framework工程师,向驱动工程师转型,hal层也是很好的入门。并且个人认为,掌握hal层相关原理能够大大提高你整个底层到上层垂直开发能力,下面开始讲解。一、定义及作...原创 2018-10-20 17:45:45 · 11279 阅读 · 2 评论 -
OEM、ODM、OBM分别是什么?
OEM、ODM、OBM分别是什么? 什么是OEM?OEM(Original Equipment Manufactuce,原始设备生产商)。 是在社会化分工、专业化利益驱动下产生的,其基本含义是:按原单位(品牌单位)委托合同进行产品开发和制造,用原单位商标,由原单位销售或经营的合作经营生产方式。 经济学鼻祖亚当斯的《国富论》(经济学第一本专著)第一篇第一章第一节开宗明义的就是讲专业化,古典...转载 2018-10-20 18:02:07 · 17159 阅读 · 0 评论 -
android源码中采用Unix Domain Socket跨进程通信
今天看android源码Zygote进程启动流程,无意间发现使用了一种文件描述符作为跨进程通信的地址,于是仔细研究了一下: 从字面来理解是传统的Socket使用,但个人觉得不应该是,特地找资料学习了一下,下面的介绍比较详细到位。又进一步了解一下,使用的其实是UDS(Unix Domain Socket),详细的介绍如下: linux操作系统提供了一种UNIX域协议...原创 2018-10-25 19:12:34 · 3120 阅读 · 0 评论 -
android本地系统服务详解
我们已经知道android的系统服务分为本地系统服务和java系统服务,android framework层即包含了本地系统服务和java系统服务,而本地系统服务是c++编写的服务,java系统服务是一些平台服务和硬件服务并采用java语言编写。本篇文章侧重点在分析android本地系统服务的运行机制及简单举例。一、本地系统服务定义 android中的本地系统服务采用c++编写,并...原创 2018-10-28 19:27:08 · 1902 阅读 · 0 评论 -
android硬件抽象层两种架构
Android Hal 分析 -------rockchip Andy 本文是基于android4.0.3.对应其他低版本的代码,可能有所差异,但基本大同小异。 Andro...转载 2018-10-30 20:48:17 · 1430 阅读 · 0 评论 -
android中stagefright和OMXCodec原理分析
1. 框架结构1.1StageFright和openCore和NuPlayer的关系上图可知,stagefright是在MediaPlayerService这一层加入的,和opencZ喎�"/kf/ware/vc/" target="_blank" class="keylink">vcmXKx7KiwdC1xKOs1NrRodPDb3BlbmNvcmW7ucrHc3RhZ2Vm...转载 2018-11-05 18:38:27 · 2509 阅读 · 0 评论 -
Android开发之系统音频库加载全过程
本文基于android7.0分析在介绍解析音频配置文件文章中 已经说了,系统音频库的加载与否取决audio_policy.conf是否有配置其信息。当将audio_policy.conf解析完成之后,接下来就是根据解析好的配置文件数据去加载系统音频库,我们继续看到 AudioPolicyManager.cpp 构造函数,源码位于: \frameworks\av\services\aud...转载 2018-11-11 13:06:44 · 819 阅读 · 0 评论 -
android系统动画播放简介
我们知道android系统的用户空间的第一个进程就是init进程,init进程起来之后会启动zygote、SurfaceFlinger以及一些守护进程。当SurfaceFlinger进程被Init进程启动之后,它会去启动开机动画程序bootanimation(bootanimation_main.cpp)。而zygote进程会去启动systemserver进程,而systemserver进程会去启...原创 2018-11-11 16:55:48 · 150 阅读 · 0 评论 -
android服务概要
每个系统都会有服务一样,android也不例外,android framework层提供了各种各样的服务,应用程序也可以实现自己的本地服务和远程服务等。一、andorid服务分类android服务大致可以分为系统服务和应用程序服务,系统服务提供了系统最基本、最核心的功能,例如设备控制、位置信息、通知设定以及消息显示等。二、应用程序服务应用程序服务顾名思义就是我们app端可以创...原创 2018-10-14 13:48:37 · 365 阅读 · 0 评论