android
文章平均质量分 75
android
wang 恒
吾日三省吾身,遵恒律谦温乎!
该补的我都会补回来,至死方休!
恐惧来源于无知
展开
-
Ubuntu16.04编译android5.1
新手android编译参考原创 2022-06-02 17:49:57 · 527 阅读 · 0 评论 -
android系统定制添加分辨率,density设置
本文基于qcom msm8909 android5.1平台,因为客户需求以及实际使用,主板接入的显示屏有各种尺寸,这样对屏幕的显示造成了极大的影响,因此着手开发了一个设置功能,主要针对屏幕分辨率和density等参数的设置。首先想到的是调试过程中,在android4.3之后,官方引入了一个wm的命令工具(wm工具简介及使用),但在开发过程中,遇到个很蛋痛的问题,问题现象如下:笔者采用jni...原创 2019-02-20 09:20:33 · 9583 阅读 · 2 评论 -
Android平台单独编译内核模块ko && insmod
第一次在android平台上单独编译内核模块并且insmod,过程比较难受,毕竟啥事第一次做都不怎么顺畅!本文基于Android5.1 msm8909因为笔者使用的平台物理串口只有两个,一个已经作为系统的debug调试串口,那就相当于只有一个串口供使用了,这样因为串口个数需求远大于一个,需要添加虚拟串口的驱动。采取如下方法实现:编写虚拟串口驱动单独编译的时候,1...原创 2019-02-20 09:22:28 · 11615 阅读 · 0 评论 -
【Android8.1】软键盘和实体键盘冲突(无法同时使用)问题解决
在Android系统上存在一个机制,即当系统外接实体键盘时候,软键盘则会默认被禁用,要想实现软键盘和实体键盘同时使用,则需要进行如下操作:vi frameworks/base/packages/SettingsProvider/res/values/defaults.xml对 def_show_ime_with_hard_keyboard 进行初值修改,由false->true,如下所示:延伸阅读:frameworks/base/packages/SettingsProvider/src/原创 2021-09-16 09:37:24 · 1685 阅读 · 1 评论 -
【默认输入法】Android8.1默认输入法修改(解决输入法切换和权限获取等问题)
文章目录1.内置第三方输入法app-讯飞2.默认切换使用第三方输入法-讯飞2.1 修改默认输入法为讯飞2.2 代码启用默认讯飞输入法2.3 默认赋予讯飞输入法权限3.使能切换输入法功能1.内置第三方输入法app-讯飞此步骤,省略。2.默认切换使用第三方输入法-讯飞2.1 修改默认输入法为讯飞frameworks/base/packages/SettingsProvider/res/values/defaults.xml<string name="def_input_method" tran原创 2021-09-13 10:17:59 · 1014 阅读 · 1 评论 -
Android hardware so加载流程
1.前言随着Android系统学习的深入,最近开始跟踪到hardware层的源码。开个分栏,记录下hardware层的学习。2.正文hardware层【HAL】位于Android系统框架的第二层(如图,倒着数)。HAL被称为Android的硬件接口。对于Android中很多子系统来说(如显示系统,ps:笔者最近就是因为分析display来到了hal的世界;音频系统等),HAL都是必不可少的...原创 2019-09-02 11:59:51 · 1624 阅读 · 0 评论 -
【Jack-server常见错误】记录一次androidO编译引起的jack-server报错处理路程,我吐了
jack-server这个东西,姑且不论别的,就单单搞android os的人来说,肯定不陌生,因为它确实是太恶心了,这东西网上的资料也挺多的,但大多是互相参考,借鉴,所以总结出来的处理问题方法基本上是如出一辙,一旦遇到什么奇怪的问题,那么解决起来就相当棘手了,这次我就是这样,简直快被搞吐了。废话少说,直接进入主题!先上错误信息:错误一:oadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_typ原创 2021-09-01 17:01:18 · 292 阅读 · 0 评论 -
【Android/Linux系统编译记录】常见出错整理
文章目录1.解决/bin/sh: lz4c: 未找到命令1.解决/bin/sh: lz4c: 未找到命令发生于 RK3266 Android8.1LZ4是一种压缩算法,解决方法如下:安装lz4:apt-get updateapt-get install liblz4-tool重新编译 ok解lz4文件:lz4 -d 文件名...原创 2020-02-27 14:38:12 · 430 阅读 · 0 评论 -
ninja error ‘artruntimeinterpretermterpoutmterp_x86_64.S‘, needed by ‘outhostlin
Android7.1 msm8953_64 编译出错解决办法:cd art/runtime/interpreter/mterp/./rebuild.sh回到编译根目录,make原创 2020-07-08 17:14:52 · 335 阅读 · 0 评论 -
【qcom msm8953 android712】rtc 调试分析续
qcom msm8953 android712 平台rtc框架梳理原创 2020-04-23 15:57:18 · 847 阅读 · 0 评论 -
【转载】Android 第三方ROM定制之适配谷歌Play Store
本篇博客仅适用于Android第三方ROM定制的开发者单独适配Google框架服务套件。众所周知,Android系统发展至今一大特色...转载 2020-02-28 09:16:33 · 2231 阅读 · 0 评论 -
【转载】android开发笔记之fastboot的使用
fastboot命令大全在终端中,我们输入:fastboot对于这些命令,我不解释,慢慢使用,慢慢的就会明白是怎么回事了。a...转载 2020-02-27 10:31:27 · 1650 阅读 · 0 评论 -
msm8953 android7.1 配置笔记
文章目录1.带有__DATE__,__TIME__等宏的代码编译失败。1.带有__DATE__,__TIME__等宏的代码编译失败。编译时报错的内容如下:error: expansion of date or time macro is not reproducible [-Werror,-Wdate-time]解决方法:Ⅰ.在build/core/config.mk文件中,找到TAR...原创 2019-10-21 16:19:13 · 1947 阅读 · 0 评论 -
【qcom msm8953 android712】rtc 调试分析
文章目录1.RTC概述2.平台对应的rtc接口3.分析4.总结5.参考1.RTC概述RTC(Real Time Clock),用于关机时继续计算系统日期和时间。是基于硬件的功能。也可以RTC做Alarm来设置power on/off。2.平台对应的rtc接口Linux 提供了三种用户空间调用接口。对于笔者所用的平台,在其中对应的路径为:SYSFS接口:/sys/class/rtc/rtc...原创 2019-10-16 09:12:17 · 1453 阅读 · 0 评论 -
msm8953 Android7.1.2 lights模块分析
1.概述2.分析3.使用及实现4.总结原创 2019-08-09 10:50:50 · 688 阅读 · 0 评论 -
ConnectivityService分析
1.概述2.分析3.使用及实现4.总结原创 2019-08-05 09:37:33 · 4822 阅读 · 0 评论 -
user版本串口只有输出不能输入【qcom android7.1 msm8953】
1.现象:编译成user版本之后,kernel打开串口输出宏,串口只有输出没有输入.2.原因:编译user版本之后 ro.debuggable=0build/core/main.mk:ifeq (true,$(strip $(enable_target_debugging))) # Target is more debuggable and adbd is on by default...转载 2019-07-30 11:39:23 · 1408 阅读 · 0 评论 -
内核如何获取音量键按下的状态
http://www.tjtech.me/how-to-get-volume-key-pressed.html高通平台一般会把音量下键绑在PMIC RESIN上,这样除了长按电源键重启外,还可以按音量下键重启。先从内核文档(Kernel3.18)了解下RESIN:Qualcomm QPNP power-onThe qpnp-power-on is a driver which suppor...转载 2019-07-25 09:55:56 · 1537 阅读 · 0 评论 -
【转】Android自动化 -- sendevent/getevent 用法
https://blog.csdn.net/jgw2008/article/details/79724439getevent&sendevent 是android系统下的一个工具,可以 模拟 多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。这两个命令的源码在system/core/toolbox/下,sendev...转载 2019-07-19 15:26:00 · 413 阅读 · 0 评论 -
Ubuntu16.04 挂载vivoZ3手机存储器
通过mtpfs软件管理手机文件1.安装工具 sudo apt-get install mtp-tools mtpfs2.新建目录 sudo mkdir /media/mtp3.修改目录权限 sudo chmod 755 /media/mtp4.安装设备 sudo mtpfs -o allow_other /media/mtp5.卸载设备上面是vivo官方自带的推荐方法,但是我试了没卵用...原创 2019-07-16 20:34:17 · 1510 阅读 · 0 评论 -
Android notification 拦截
工作场景本文基于qcom msm8953 android7.1notification这个东西想必大家都不陌生,但这个玩意在盒子上确是比较蛋疼的,最开始的时候,装了SIM卡在使用过程中,总是弹窗出一些信息,但实际上我们是不需要这些弹出出现的,所以当时只是针对性的屏蔽了一些弹窗通知,这段时间又TM遇到了这种弹窗<来自其他的应用>,这可怎么办,总不能来一个不想要的弹窗就屏蔽一个app吧...原创 2019-07-24 16:33:39 · 938 阅读 · 0 评论 -
Android 7.1 去掉桌面上的谷歌搜索框
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.javaindex 3b5cd02…7e20bf8 100755— a/src/com/android/launcher3/Launcher.java+++ b/src/com/android/launcher3/...转载 2019-06-26 15:05:41 · 2945 阅读 · 0 评论 -
AndroidN新增物理按键[android7.1.2][msm8953]
1.概述2.实现3.总结原创 2019-08-12 09:54:53 · 1564 阅读 · 2 评论 -
Android Input子系统分析[未完...]
参考https://www.jianshu.com/p/324f71cb5cd3https://blog.csdn.net/u011913612/article/category/6508253原创 2020-09-05 11:31:15 · 183 阅读 · 0 评论 -
Android 动态可设置下拉状态栏和虚拟导航栏
通常情况下,android系统都会自带状态栏下拉控制和虚拟导航栏,这样可以方便使用操作,但在某些特殊使用情况下,我们需要去掉或者禁止这两个功能模块,例如基于android系统的工控机,广告机等,废话不多说,进入主题...本文基于qcom msm8909 android5.1,msm8953 android7.1两个平台。修改的地方位于frameworks基本知识点:大家都知道and...原创 2019-01-21 16:43:03 · 2492 阅读 · 1 评论 -
android fw systemserver之MountService分析
文章目录前言分析MS工作模式总结参考前言MountService是Android系统中众多systemserver中一员,其工作主要是与native sever Vold共同管理Android系统中的磁盘模块。MountService:Android Binder服务端,运行在system_server进程,用于跟Vold进行消息通信,比如MountService向Vold发送挂载SD卡的命...原创 2019-09-27 16:47:16 · 706 阅读 · 0 评论 -
Linux/android 支持ntfs文件系统 之 ntfs-3g
文章目录1.前言2.使用2.1 ntfs-3g 源码下载2.2 安装使用1.前言NTFS-3G 是一个开源的软件,可以实现 Linux、Free BSD、Mac OSX、NetBSD 和 Haiku 等操作系统中的 NTFS 读写支持。它可以安全且快速地读写 Windows 系统的 NTFS 分区,而不用担心数据丢失。(来源百科)2.使用2.1 ntfs-3g 源码下载ntfs-3g开源...原创 2019-10-09 09:27:52 · 2735 阅读 · 0 评论 -
android7.1 vold模块分析
文章目录前言分析vold源码架构分析vold模块启动流程VM 启动流程NM 启动流程NetlinkHandlerCL 启动流程、CL的创建CL的启动vold框架之存储器(U盘)加载流程vold框架之存储器(U盘)加载流程分析vold框架之存储器(U盘)加载流程实战--Android7.1添加ntfs支持添加Ntfs*相关文件,即Ntfs.h,Ntfs.cpp修改PublicVolume::doMount()实现Android.mk 文件添加Ntfs*源文件参与编译总结参考前言Android中对磁盘的管理原创 2019-10-09 09:28:04 · 1408 阅读 · 0 评论 -
Android studio 导入 Android 系统源码
1.通常,从事Android开发相关的人员,都需要涉及到Android源码的阅读,尤其是从事Android系统相关开发的。这里介绍下Android studio 如何 导入Android源码,以便更好的学习开发。比较早的时候,阅读学习调试Android源码通常都是使用eclipse工具,当android studio 问世后,许多人便开始使用Androidstudio 导入源码,使用as笔者有这...原创 2019-09-18 10:42:17 · 6932 阅读 · 0 评论 -
git+gitosis+repo 管理多个Android源码
1.前言本文记录下笔者先后两次针对Android源码管理所走的路,途中也算是一波三折吧,最终还是大致弄清了三者工作流程。笔者管理Android源码是采用了git+gitosis+repo的方式。2.git+gitosis+repo介绍Git 是一个开放源代码的版本控制系统,专用于处理分布在多个代码库上的大型项目。在 Android 环境中,我们会使用 Git 执行本地操作,例如建立本地分支、...原创 2019-09-12 15:38:11 · 1027 阅读 · 0 评论 -
Android Display 之 HAL Gralloc
1.前言之前分析过Android HAL层关于hal库是如何加载的一个小框架,源于笔者需要分析Android display框架,Android display HAL层最重要的就是Gralloc和Framebuffer。在《深入理解Android内核设计思想》一书中,有提到:Android终端显示设备的”化身“–Gralloc与Framebuffer。在Android系统中,Framebuf...原创 2019-09-30 11:13:30 · 1870 阅读 · 1 评论 -
Linux/android常用命令记录,持续更新...
blkid原创 2019-09-19 13:52:11 · 816 阅读 · 0 评论 -
Android Mutex::AutoLock介绍
互斥类—MutexMutex是互斥类,用于多线程访问同一个资源的时候,保证一次只有一个线程能访问该资源。在《Windows核心编程》①一书中,对于这种互斥访问有一个很形象的比喻:想象你在飞机上如厕,这时卫生间的信息牌上显示“有人”,你必须等里面的人出来后才可进去。这就是互斥的含义。下面来看Mutex的实现方式,它们都很简单。(1)Mutex介绍其代码如下所示:[–>Thread.h...转载 2019-08-20 17:11:14 · 1755 阅读 · 0 评论 -
手机端AP和BP的含义
词语解释:Applicationprocessor (AP) = CPU + GPUCellularprocessor (CP) = Cellular modemGraphical Processor(GP) = GPCP是Cellular Modem,也可以称为Baseband Modem,简写BPAP代表应用程序处理器移动设备包括三个基本构建模块,AP、BP以及GP"The C...转载 2019-08-19 11:08:13 · 4838 阅读 · 0 评论 -
[msm8953][Android7.1.2] Sending non-protected broadcast ....
问题很简单,开个博客记录下。msm8953 android7.1.2现象:系统发送自定义广播出现error log问题所在:Android系统对自定义广播做了保护限制,对广播做了保护限定之后,只有一定权限的用户(如system用户,CAMERA等)才可以使用。否则用一次就会打印一次warning,并且保存异常信息到文件中。详情可以阅读AMS源码。frameworks/base/servi...原创 2019-08-09 11:17:19 · 2419 阅读 · 0 评论 -
USB摄像头预览识别二维码
http://blog.csdn.net/u010331406/article/details/52672871转载 2017-12-06 09:00:41 · 595 阅读 · 0 评论 -
Android下面打印进程函数调用堆栈(dump backtrace)的方法
转:https://blog.csdn.net/lyl278401555/article/details/518292681. 为什么要打印函数调用堆栈?打印调用堆栈可以直接把问题发生时的函数调用关系打出来,非常有利于理解函数调用关系。比如函数A可能被B/C/D调用,如果只看代码,B/C/D谁调用A都有可能,如果打印出调用堆栈,直接就把谁调的打出来了。不仅如此,打印函数调用堆栈还有另一个...转载 2018-12-11 10:22:21 · 532 阅读 · 0 评论 -
单独修改编译一个framwork模块,make snod会有的问题
全编andorid后,单独修改编译一个framwork模块,make snod会有如下告警信息:Warning: with dexpreopt enabled, you may need a full rebuild使用这样make snod 出来的镜像,内核不能启动,模拟器一直停留在“android”标志状态。查看log发现有如下错误打印:DexOpt: mismatch dep si...转载 2018-12-25 12:37:05 · 880 阅读 · 1 评论 -
Android5.1 Ethernet添加ip配置(Static DHCP)
博主从业经验不多,本次调试Ethernet参考了许多资料,走了很多弯路,现在也还有点问题,先记录下调试心得,文中提到的未解决的问题或写的错误得地方,还望各位看官大佬不吝赐教。参考:https://blog.csdn.net/Purple7826/article/details/80608172https://blog.csdn.net/qq_34705828/article/detai...原创 2019-01-14 09:48:57 · 1968 阅读 · 0 评论 -
Android(Linux) led子系统分析
本文基于Android7.1.1 msm8953 platform Linux kernel 3.18.按照惯例先上一张 led子系统的 思维导图上图是根据 kernel/msm-3.18/drivers/leds/ 下的Makefile文件分析而成,so. 讲到这,阅读makefile对分析源码结构很有帮助哦这里贴一下Makefile的源码,不同平台略有不同。# LED ...原创 2019-01-17 16:54:29 · 778 阅读 · 0 评论