Android
文章平均质量分 89
b178903294
这个作者很懒,什么都没留下…
展开
-
安卓10平台DNS两层缓存
一、 背景当dns被污染后怎么也打不开网页,即使后来dns获取正确了,你会发现有段时间页无法访问该网页。有时候必须手动在浏览器端清除缓存才能正常访问。但是除了应用端的缓存外系统端还会有缓存的。我们做个实验: dns查询log ping操作由上面的操作我们可以看到 在第一次pi...原创 2021-07-20 11:16:39 · 3157 阅读 · 1 评论 -
android 系统应用导入AS遇到的问题
最近导入android10 Launcher3的项目到AS上遇到了各种问题导致编译不能继续,下面我们一个一个解决:1.'variant.getJavaCompile()' is obsolete and has been replaced with 'variant.getJavaCompileProvider()' 这个错误警告很有可能是gradle版本的问题,我们这份代码中默认的gradle版本是3.3.0,结合上面警告中被替换的得信息我们可能需要更老版本的gradle。 所以修改为3.原创 2021-06-28 11:16:56 · 896 阅读 · 0 评论 -
android10 dnsmasq 工作不正常问题
近期在android10的项目中用到了dnsmasq,正如大家所了解的一样,这东西是个解析并缓存dns的工具。但是本人发现无论预装的2.51版本还是我后来移植源码编译的2.78版本都不能正常。我本是打算用dnsmasq的 conf-file配置调用ipset的,但是通过log发现,即使dnsmasq成功的解析了ipset的指令,但是并没有设置成功。configfile.conipset=/baidu.com.com/iplistdnsmasq/src/option.c...原创 2021-04-25 12:16:47 · 2147 阅读 · 1 评论 -
android10 手势相关
由毕俊强创建, 最后修改于4月 02, 2021 13:59转至元数据起始systemui 和 launcher3通过ISystemUiProxy 和 IOverviewProxy进行了互相绑定,将自己的方法和状态提供给了对方。我们着重看一下手势服务./packages/apps/Launcher3/quickstep/recents_ui_overrides/TouchInteractionService.java privatevoidi...原创 2021-04-04 10:27:05 · 993 阅读 · 0 评论 -
android预装应用找不到so库问题
近日接到需求,产品大佬想要在平板上预装第三方应用接到这个平平无奇的需求的时候内心毫无波动我直接给他装到/system/app下吧,毫无难度········紧接着就开始了写Android.mk 然后编译,然后就:连系统都起不来······· log如下: 10-17 08:52:30.107 2747 2747 V PackageManager: reconcileAppsDatafornull u0 0x3 migrateAppData=true...原创 2021-04-04 10:26:00 · 3156 阅读 · 4 评论 -
MTK 平台TP 驱动
下面以汇顶gt9xx_driver.c 驱动为例讲解TP 驱动的整个关键点,本篇只讲TP 驱动本身的代码,在驱动代码涉及的方法技术,因为每一个都牵涉linux内核的设计和知识,后面会逐个展开深入讲解。首先,我们来总体看下TP 驱动代码初始化流程:MTK kernel-4.14 TP 驱动初始化和部分工作流程main.cmain.cgt9xx_driver.cgt9xx_driver.cmtk_tpd.cmtk_tpd.ci2c.hi2c.hkthread.hkthread.hwait.hwai原创 2021-04-04 10:25:10 · 1488 阅读 · 0 评论 -
Android O实现限制自启&&限制后台&&杀活方案
由 b178903294创建, 最后修改于12月 30, 2020上回书说到android的powersave lowmemorykiller 等的后台清理机制,与系统如何保证应用不被杀掉的保活方案。我们为了自己的应用能够常驻后台提供了系统保活的机制。那么其他三防应用为了自己能够永生,各种手段无所不用其极,绕过各种系统的杀活机制来达到常驻后台干些见不得人的勾当。所以我们常常见到系统运行的好好的突然各种弹窗,突然的cpu占用飙升猝不及防的卡死········ 即使我们信任的各种学习app后台罪行也是罄..原创 2021-04-04 10:24:15 · 2326 阅读 · 0 评论 -
android系统级保活方案
由b178903294创建, 最后修改于10月 29, 2020保活与杀活一直以来就是应用于系统间的博弈,魔高一尺道高一丈。各种奇奇怪怪的保活方案层中不穷,但是安卓随着系统版本的迭代,各种杀活策略更加严格,已经把流氓软件的可操作保活方法逼到了角落里面了··········作为系统杀活阵营支持者的我由于收到应用大佬们十分过分的要求(需要系统拉活他们的应用或服务),所以不得不帮助他们进行系统保活·········android系统原生方案简单的系统保活方案就是防杀和拉活:...原创 2021-04-04 10:22:24 · 1413 阅读 · 0 评论 -
Android powersave模式网络限制流程
由 b178903294创建, 最后修改于9月 01, 2020当用户在settings打开省电模式的开关后,系统会进入到省电模式,在各种方面进行限制以尽可能的省电。今天我们来分析一下,省电模式限制网络连接的逻辑。前言:首先分析一下打开省电模式按钮之后发生了什么:1、先来看一下Battery saver的switch开关,当我们打开Battery saver的时候//packages/apps/Settings/src/com/android/settings...原创 2021-04-04 10:21:34 · 2214 阅读 · 0 评论 -
camera自动升级失败问题
camera自动升级过程中失败:只有自动升级时才会失败,手动点击升级时是正常的。自动升级和手动升级调用的接口是完全一样的,并且都是通过EventBus 接收升级的event调用同一段函数进行处理,所以函数调用上没有任何区别,显然不是代码逻辑的错误。通过查看失败的log发现connect camera时超时了:折叠源码 ... UsbInterface[mId=1,mAlternateSetting=9,mName=null,mCla...原创 2021-04-04 10:21:00 · 1833 阅读 · 0 评论 -
android系统音效均衡方案
转至元数据起始一、单应用方案1.android系统为个应用提供了一套完整地音效控制方案,并且还为此提供了应用支持——MusicFX ,应用通过调用此app的activity来进行EQ调节。此app会为没一个调用者保存下来xml文件。2.android还提供了直接控制mediaplayer的audiofx库接口,在创建使用mediaplayer的时候可以设置一些音频参数。参考:https://blog.csdn.net/fishtosky/article/details/490686.原创 2021-04-04 10:19:19 · 1812 阅读 · 0 评论 -
系统卡死问题分析
问题背景:测试对平板 系统进行monkey压测时,出现了应用界面卡死的情况。测试脚本:monkey --ignore-crashes --ignore-timeouts --kill-process-after-error --ignore-security-exceptions --throttle 200 -v -v -v -s 5 10000000 1>>/sdcard/log.log 2>>/sdcard/log_err.log一边测试一边抓取logcat并.原创 2021-04-03 09:54:06 · 5177 阅读 · 3 评论 -
MTK 方案电池保护机制设计
我们分Driver 、HAL 、APP 三层来分别说明驱动层:在"kernel-4.4/drivers/power/mediatek/battery_common.c"文件中电池初始化时会设置电池的最大充电温度:#if defined(MAX_CHARGE_TEMPERATURE) batt_cust_data.max_charge_temperature = MAX_CHARGE_TEMPERATURE;#endifMAX_CHARGE_TEMPERAT...原创 2021-04-03 09:53:14 · 854 阅读 · 0 评论 -
RK WiFi驱动层初始化分析
RK3368 默认支持的WiFi芯片为AP6XXX系列,此芯片还默认支持BT。可以先看看原理图里面的的情况,方便我们理解其在代码里面的配置情况WiFi 设备配置:./rockchip/rk3368/*/rk3368-p9.dts此配置为WiFi kernel驱动在初始化时使用,包括芯片类型,ref voltage为1800mv, wake up irq为GPIO_ACTIVE_HIGHdevice/rockchip/rk3368/*/rockchip_defconfig.原创 2021-04-03 09:52:28 · 4543 阅读 · 0 评论 -
RK 传感器调用流程 从JNI 到 kernel driver
由毕俊强创建, 最后修改于3月 27, 2020转至元数据起始一、应用开发五步曲(1)获取传感器管理器对象; mSensorManager =(SensorManager) getSystemService(SENSOR_SERVICE); (2)获取传感器对象; mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); (3)...原创 2021-04-03 09:51:47 · 577 阅读 · 0 评论 -
网络异常调试心路历程
由 b178903294创建, 最后修改于3月 27, 2020背景: 打通dnsmasq+ipset+iptables,并且导入了网络管控规则之后。网络管控功能基本流程跑通了。欢喜之余发现上网极其卡顿,ping经常获取不到DNS、丢包、反应慢······· 网页打开速度慢到无法接受同时经常打不开。这个时候对比中性版本,发现期初中性版本能够快乐的上网,但是随着带管控平板的上网使用卡顿,渐渐地中性版本也卡了。然后就开始怀疑公司网络和路由器有问题了。恰逢公司网络这几天不稳定,所以就摔锅...原创 2021-04-03 09:49:04 · 1211 阅读 · 0 评论 -
RK Audio HAL 音频通路设置与Codec原理
由 b178903294创建, 最后修改于3月 18, 2020一个平板项目中采用螃蟹卡ALC56561 作为硬件codec。由于声音播放前后过程中有pop声,所以对其硬件原理和驱动控制做了一番研究。一、专用术语ASLA - Advanced Sound Linux ArchitectureOSS - 以前的Linux音频体系结构,被ASLA取代并兼容Codec - Coder/DecoderI2S/PCM/AC97 - Codec与CPU间音频的通信协议/接口/总线DAI - D原创 2021-04-03 09:48:05 · 3935 阅读 · 0 评论 -
录像过程中拍照的流程 从framework到hal
由178903294创建, 最后修改于1月 20, 2020在VideoMode.java中 当拍照键按下VideoMode.java privateView.OnClickListener mVssListener =newView.OnClickListener() { publicvoidonClick(View view) { ~ LogHelper.i(TAG,"[mVssListener] bjq clic...原创 2021-04-03 09:47:17 · 837 阅读 · 0 评论 -
原生安卓 vold 流程及框架
前言: 由于谷歌AndroidContainers 中将Vold中的某些模块和代码进行了重写,通过mojom借道chromiumOS间接和内核进行通讯和操作,所以我们需要研究原生安卓中的vold的流程以作参考。为我们分析和实现AC中的vold理清思路。 Vold是Volume Daemon的缩写,它是Android平台中外部存储系统的管控中心,是管理和控制Android平台外部存储设备的后台进程。其功能主要包括:SD卡的插拔事件检测、SD卡挂载、卸载、格式化等。模块架构:...原创 2021-04-02 12:48:52 · 1226 阅读 · 2 评论