Android
文章平均质量分 53
光利繁华的背后
每天都要有进步!制定战略,安排计划,实现任务!
展开
-
Ubuntu 16.04 下 Vim安装及配置
Ubuntu16.04 下安装Vim默认已经安装了VIM-tiny linuxidc@linuxidc:~$ locate vi | grep 'vi$' |xargs ls -al lrwxrwxrwx 1 root root 17 12月 9 21:12 /etc/alternatives/vi -> /usr/bin/vim.tiny lrwx...转载 2019-04-12 10:42:22 · 713 阅读 · 0 评论 -
Android5.1.1Camera 系统架构源码分析(2)---->Camera的startPreview和setPreviewCallback
一、命令流程1.APPpackages/apps/Camera/src/com/android/camera/PhotoModule.java[java] view plain copyprivate void startPreview() { mCameraDevice.setPreviewDispla转载 2017-11-15 09:40:19 · 613 阅读 · 0 评论 -
HAL层打开Camera底层驱动
CameraClient的初始化就是:先实例化Camera Hal接口 CameraHardwareInterface,CameraHardwareInterface调用initialize()进入HAL层打开Camera底层驱动 status_t initialize(hw_module_t *module) { ALOGI("Opening cam原创 2017-11-14 14:34:27 · 1578 阅读 · 0 评论 -
android 之Bn、Bp详解
Bn意味着Binder Native 端Bp是Binder Proxy端,这两端会实现相同的接口,但Proxy端只是通过binder ipc发送一个binder transaction,native端是真正做事情,再将结果返回。Android用此机制实现高效的远程调用Bn n 就是native,这是一个怎样的类? 我们继承它的原因是为了实现一个接口,具体点说就是一原创 2017-11-14 13:56:02 · 9030 阅读 · 0 评论 -
android代码里的分区信息
vi device/fsl/sabresd_6dq/fstab.freescale原创 2017-11-13 16:41:47 · 344 阅读 · 0 评论 -
Bootimg介绍
一、Android手机的文件系统Android手机的文件系统有许多存储器组成,以下是在adb shell下面的输出:cat/proc/mtd注意,不同的手机在上述存储设备的顺序可能会各不相同!一定要检查您的手机,确定在以下的二、boot和recovery映像的文件结构 boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的原创 2017-11-10 15:57:27 · 2614 阅读 · 0 评论 -
Linux的帧缓冲(Frame Buffer)之三:LCD上显示摄像头
一个简单的应用程序,来实现在LCD上显示当前camera的图像数据,也可以根据键盘输入保存摄像头数据到BMP图片中。(1) 如下: 文件头和全局变量:[cpp] view plain copy#include #include #include #include #include转载 2017-11-08 15:30:05 · 670 阅读 · 0 评论 -
Android系统语言修改
修改Android系统默认语言设置:第一种方法:修改 build/tools/buildinfo.shecho "ro.product.locale.language=zh"echo "ro.product.locale.region=CN"就可以修改Android系统默认语言为中文第二种方法:build/target/product/full_base.mk原创 2017-10-20 09:03:56 · 1002 阅读 · 0 评论 -
Android camera之native_setup
native_setup函数讲解:private void final int native_setup(Object camera_this,int cameraId, int halVersion, String packageName);这个方法在JNI层通过Binder通信请求Server端的ICameraService去初始化摄像头。在Server端ICameraServ原创 2017-10-10 15:45:15 · 1863 阅读 · 0 评论 -
使用grep搜索代码的几个示例
https://blog.csdn.net/guyongqiangx/article/details/70161189作为基于windows系统工作的攻城狮,每天必须用sourceinsight,这工具确实好用,关键词和语法着色,上下文联想,代码自动补全,但是也经常发现有些不太方便的地方。例如:操作前需要先建立工程,这也没什么,但是如果只想临时在某个代码包里查找符号变量什么的,也得需要先创建工...转载 2018-11-12 14:38:01 · 1092 阅读 · 0 评论 -
Android应用程序的跳转
Android开发中,有时候要实现应用程序之间的跳转,在知道包名与Activity的情况下,可以采用下面的方法实现。[java] view plain copy// 简单的写法: Intent intent = new Intent(); intent.setClassName("com...(包名) ", "com....(完整原创 2017-12-28 11:45:29 · 277 阅读 · 0 评论 -
任务管理器流程详解
转载:点击打开链接转载 2017-12-28 11:43:57 · 451 阅读 · 0 评论 -
Android中关于log的几种区别/log.v log.d log.i log.w log.e
Android Logcat使用起来可以方便的观察调试内容,基本上的使用方法(巧用Logcat调试程序)。本次要说明的是平时的Log.v Log.d Log.i Log.w Log.e的区别是什么? 一、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("",""); 二、Log.d的输出颜色是蓝色的,仅输出debug调试的意思转载 2017-12-28 09:07:26 · 1079 阅读 · 0 评论 -
获取APK包名及class
需要获取指定apk的包名和活动名;解决方案:打开apk,进入你需要抓取的activity,执行:adb shell dumpsys window | grep mCurrentFocus返回结果:(例如打开了Google的Chrome)mCurrentFocus=Window{15145d93 u0 com.android.chrome/com.goog原创 2017-12-27 12:32:55 · 971 阅读 · 0 评论 -
system.prop设置
build/target/board/generic/system.prop原创 2017-12-06 15:15:18 · 2837 阅读 · 0 评论 -
Android之camera架构---open之new
pen之new原创 2017-10-10 11:49:44 · 1521 阅读 · 1 评论 -
Android之camera架构---open之指定ID
Camera的架构与Android系统的整体架构保持一致,如下图所示,本文主要从以下四个方面对其进行说明。Framework:Camera.javaAndroid Runtime:android_hardware_Camera.cppLibrary:Camera Client和Camera ServiceHAL:CameraHardwareInterface原创 2017-10-10 11:13:51 · 6058 阅读 · 0 评论 -
i.mx6平台修改屏幕锁和永不修眠
(1) 修改屏幕锁: frameworks/base/packages/SettingsProvider/res/values/defaults.xml 60000 60000改成想要的时间如果是不锁为-1(2) 修改不休眠 /frameworks/base/packages/SystemUI/src/com/android/systemui/k原创 2017-09-26 17:32:20 · 373 阅读 · 0 评论 -
Android系统下JNI的第二种编写方法
之前写的EEPRPOM是直接在Android系统下直接编写的,JNI代码的实现依靠hal层的方法,即包含了:#include #include 所以实现起来依赖关系很严重,而上层app的开发需要有自己生成的jni的.h方法,导致上下不通,具体体现在:例如 open方法:/*通过硬件抽象层定义的硬件模块open接口打开硬件设备*/ static原创 2017-09-26 15:01:32 · 680 阅读 · 0 评论 -
Android学习
Android 目录详解:点击打开链接原创 2017-09-26 13:50:49 · 442 阅读 · 0 评论 -
Android - Binder应用分析
点击打开链接转载 2017-09-08 16:02:35 · 188 阅读 · 0 评论 -
android读写iic设备
http://blog.csdn.net/daniel117/article/details/17464783?locationNum=2&fps=1 在Android开发和移植过程中,有时需要对某设备进行读写,但系统可能并未提供相应的服务。我们就需要自己开发硬件访问服务来控制设备。下面的例子是读写最简单的i2c设备eeprom的流程, i2c的驱动编写有两种方式,一种是利用系统提供的转载 2017-09-06 17:21:03 · 2213 阅读 · 0 评论 -
FTxxxx系列-----home按键失灵(kl没有加载正确)
home按键失灵通常这种情况都会看kl文件有没有加载对果然dumpsys input出来的结果是6: ft5x06_ts Classes: 0x00000015 Path: /dev/input/event1 Descriptor: a3d3ffc870334637db1e8bbfb999c8c212cbcbc9转载 2017-09-07 14:47:42 · 613 阅读 · 0 评论 -
编码规范
1 非公有成员变量以m开头2 静态变量以s开头3 常量必须所有字母大写, 单词之间以下划线隔开4 重要的变量必须加注释5 四大组件的命名必须以统一的名词结束 Activity必须以"Activity"结束, 如LoginActivity; Service必须以"Service"结束, 如WebSocketService; C转载 2017-09-07 14:40:19 · 297 阅读 · 0 评论 -
android代码贡献者编码风格指南
原文链接: https://source.android.com/source/code-style.htmlJava语言规则 1 不要忽略异常 有时你会写出完全忽视异常的代码: [java] view plain copyvoid setServerPort(String转载 2017-09-07 14:39:10 · 275 阅读 · 0 评论 -
快速定位是否是kl文件问题
http://blog.csdn.net/u013308744/article/details/50774094 今天调试了一下touch,发现back 和menu key都正常,但是home不能用,于是追了一下,发现可以快速定位问题在inputdispatcher.cpp里void InputDispatcher::notifyKey(const Notify转载 2017-09-07 14:16:03 · 572 阅读 · 0 评论 -
Android中常用shell命令详解
设置adb环境变量其实就是将adb.exe的路径放到Path中,目的是cmd直接可以使用adb命令 比如我的adb.exe路径G:\tools\adt-bundle\sdk\platform-tools\adb.exe 我的电脑》高级》设置》环境变量》Path》增加G:\tools\adt-bundle\sdk\platform-tools (注意不要adb.exe)检原创 2017-09-07 10:55:15 · 26726 阅读 · 0 评论 -
adb获取Android系统属性(adb shell getprop ***)数据来源
在android系统中,它的根文件系统下有几个用于启动系统时需要的配置文件:[cpp] view plain copy/init.rc /default.prop /system/build.prop 通常我们可以通过命令getprop获取,setprop设置;在使用这两个命令前,先看看build.prop里面到底有些什转载 2017-09-07 10:28:04 · 1864 阅读 · 0 评论 -
LCD显示移植(LVDS接口)
Platform: IMX6QPOS: Android Lollipop 5.1Freescale Branch: l5.1.1_2.1.0-gaKernel Branch: 3.14.52此例LCD用的是LVDS接口,LDB模块。 移植分两部分:HW:电源以及GPIO部分。SW: LCD timing,BPP,分辨率。转载 2017-09-14 14:12:41 · 3678 阅读 · 0 评论 -
关于Android下的几个grep命令
Invoke “. build/envsetup.sh” from your shell to add the following functions to your environment:– croot: Changes directory to the top of the tree.– m: Makes from the top of the tree.– mm: Builds原创 2017-09-26 17:24:28 · 867 阅读 · 0 评论 -
android 6 中init.rc的生成过程
android 系统开机是会有一个初始化过程 init ,整个初始化过程是根据配置脚本init.rc进行的。init.rc文件位于android设备的根目录,在设备出厂是就确定了,一般用户无法修改,厂家也不希望用户修改,如果是资深人士,那就另当别论了。 不管在android的原生代码根目录,还是soc提供的目录下,在执行完 source build/envsetup.sh转载 2017-09-26 17:15:30 · 733 阅读 · 0 评论 -
Android深度探索:HAL与驱动开发学习笔记(一)
第一章、Android的移植:1:Android的系统移植:主要是SDK的移植,主要是平台不同,提供的APP API接口不同;这个可能还有Android版本不同的移植,不同Andriod的版本提供的API不断更新,导致API需要修改(目前没做过这块);2:Linux的移植:HAL层与驱动移植,驱动不用说了,不同产品,外设驱动不同,或者说同一平台不同CPU型号mk等等移植,HAL层移植于驱动原创 2017-09-27 11:37:55 · 771 阅读 · 0 评论 -
git提交
git status . git add . git commit -m "commit info" git push git push -fgit add -A 提交所有变化git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)git add . 提交新文件(new)和原创 2017-10-18 13:45:08 · 375 阅读 · 0 评论 -
OTA升级相关
1、版本时间戳问题2、增加APP路径及mk修改APP路径:out/target/product/sabresd_6dq/system/app/mk:build/target/product/core.mk原创 2017-10-18 10:18:36 · 349 阅读 · 0 评论 -
Android之build.prop
从Build类获取到的系统信息来源可以看到,大多数Build中的常量都是从/system/build.prop文件中获取到的。因此,修改这个配置文件可以达到修改Build中某些常量值的目的。 /system/build.prop文件默认权限为644,修改此文件需要root权限。可以在root后的手机上通过RE文件管理器来修改。 由于build.prop只在开机时读取,修改完成后配置并不会立原创 2017-09-28 16:18:23 · 1113 阅读 · 0 评论 -
android Camera 架构简介
转载:点击打开链接目前需要做一个语音通话及视频聊天功能开发,主要分为音频及视频两个部分,必然会涉及到Camera及AudioFlinger部分,对于显示部分又会涉及到SurfaceFlinger部分,因此需要一步步的进行学习并确认设计是否合理.这篇文章主要针对Camera作个简要的介绍,了解需要开发的各个环节。摄像头系统提供的功能如下几个方面转载 2017-09-28 14:26:56 · 323 阅读 · 0 评论 -
Android深度探索:HAL与驱动开发学习笔记--并发控制总结
现在总结下在并发处理时的各种保护机制的使用环境及区别:原创 2017-09-28 09:10:41 · 359 阅读 · 0 评论 -
Android深度探索:HAL与驱动开发学习笔记--等待队列
经验说:工作队列使用上和 tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。工作队列一般用来做滞后的工作,比如在中断里面要做很多事,但是比较耗时,这时就可以把耗时的工作放到等待队列。就是系统延时调度的一个自定义函数。在2.6.20之后的版本,这INIT_WORK(struct work_struct *work, void (*fu原创 2017-09-28 09:34:24 · 409 阅读 · 0 评论 -
Android深度探索:HAL与驱动开发学习笔记--工作队列
经验说:工作队列使用上和 tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。工作队列一般用来做滞后的工作,比如在中断里面要做很多事,但是比较耗时,这时就可以把耗时的工作放到等待队列。就是系统延时调度的一个自定义函数。在2.6.20之后的版本,这INIT_WORK(struct work_struct *work, void (*fu原创 2017-09-28 09:48:22 · 456 阅读 · 0 评论 -
Android深度探索:HAL与驱动开发学习笔记--并发控制之信号量&完成量
semaphore使用方法和自旋锁类似,与自旋锁相同,只有得到信号量的进程才能执行临界区代码,但是与自旋锁不同的是当获取不到信号量时,进程不原地打转而是进入休眠等待状态。1. 函数:声明变量:struct semaphore sem;快捷方式:DECLARE_MUTEX(name) /* 定义一个名为name的信号量并初始化为1 */原创 2017-09-28 08:57:48 · 383 阅读 · 0 评论