
Android
文章平均质量分 54
ricks_wu
学而时习之,不亦说乎;有朋自远方来,不亦乐乎;人不知而不搵,不亦君子乎
展开
-
如何成为Android高手
<br /><br />声明:在保证本文完整的情况下可自由转载!<br /> <br />前言<br />本文pdf下载链接<br />配套视频连接<br /><br /> 若立志成为Android高手,如有耐心,“一瓶一钵足矣”。 <br /> “天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。”想成为Android高手?这可不是想象中写几行代码那么容易的事情,但也不是不可实现。<br /> 如何做?<br /> 1,学会懒惰!奇怪转载 2011-03-09 13:42:00 · 463 阅读 · 0 评论 -
Android HAL的被调用流程
在Android系统中,对于硬件的操作,使用HAL Stub的方式来实现。HAL Stub的具体写法请参照Android中HAL如何向上层提供接口总结 。 在我们写完HAL Stub之后,这个HAL Stub是如何被应用获取,如何被应用程序调用的呢? 显然,由于HAL Stub本质上是一个.so,在调用之后,需要上层应用对其进行加载,然后才能调用。哪么,HAL St转载 2013-03-22 09:37:09 · 628 阅读 · 0 评论 -
Android中HAL如何向上层提供接口总结-hw_device_t
参考文献:http://blog.youkuaiyun.com/luoshengyang/article/details/6573809http://blog.youkuaiyun.com/hongtao_liu/article/details/6060734建议阅读本文时先浏览以上两篇文章,本文是对上两篇文章在HAL对上层接口话题的一个总结.1 什么是HALHAL的全称是转载 2013-03-22 09:53:30 · 538 阅读 · 0 评论 -
Linux Input子系统第二篇之A/B(Slot)协议
这段时间一直在忙工作的事情,Input子系统的第二篇博客姗姗来迟了。 将A/B协议这部分单独拿出来说一方面是因为这部分内容是比较容易忽视的,周围大多数用到input子系统的开发人员也不甚理解;另一方面是由于这部分知识一旦扩展到TP(触摸屏Touch Panel)的多点触摸就要与Middleware/Framework一起结合起来看才能完全掌握,复杂性所在。这里的Middleware/转载 2013-12-30 23:17:54 · 1739 阅读 · 0 评论 -
Android Alarm自上而下 调试浅析
1.为了创建一个新的Alarm,使用set方法并指定一个Alarm类型、触发时间和在Alarm触发时要调用的Intent。如果你设定的Alarm发生在过去,那么,它将立即触发。这里有4种Alarm类型。你的选择将决定你在set方法中传递的时间值代表什么,是特定的时间或者是时间流逝:❑ RTC_WAKEUP在指定的时刻(设置Alarm的时候),唤醒设备来触发Intent。转载 2014-03-29 15:08:34 · 4885 阅读 · 0 评论 -
Android wakelock 自上而下浅析
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠,可以被用户态程序和内核获得. 这个锁可以是有超时的或者是没有超时的,超时的锁会在时间过去以后自动解锁. 如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.PowerManager.WakeLock 有加锁和解锁两种状态,加锁的方式有两种,一种是永久的锁住,这样的锁除非显式的放开,是不会解锁的,所以这种锁用转载 2014-03-29 15:10:40 · 776 阅读 · 0 评论 -
Android RTC 自下往上浅析
1.首先搞清楚RTC在kernel内的作用: linux系统有两个时钟:一个是由主板电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟。当操作系统关机的时候,用这个来记录时间,但是对于运行的系统是不用这个时间的。另一个时间是 “System clock”也叫内核时钟或者软件时钟,是由软件根据时间中断来进行计数的,内核时钟在系统关机的情况下是不存在的,所以,转载 2014-03-29 15:06:52 · 1552 阅读 · 0 评论 -
bugfix: 待机休眠arm电压保持在1.2v(希望降到1v)
platform: rk3026 MIDpmu: axp192system: android4.2日前碰到机器休眠arm电压偏高的问题。自己找问题,找啊找,就是找不到,一直改那个arm电压表,没用,因为那个表是机器运行时的arm动态电压调整。当机器休眠时的arm电压是另外设置的,不在这个表格内。baord-rk3026-86v.c文件中的arm电压表如下:/原创 2014-03-26 09:55:30 · 1756 阅读 · 0 评论 -
android 电池(一):锂电池基本原理篇
关键词:android 电池关机充电 androidboot.mode charger平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos 4210) 作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步!! 电池在电子产品中所转载 2014-05-14 14:47:43 · 657 阅读 · 0 评论 -
android 电池(二):android关机充电流程、充电画面显示
关键词:android 电池关机充电 androidboot.mode charger关机充电 充电画面显示 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos 4210) 作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步!!转载 2014-05-14 14:49:27 · 1993 阅读 · 0 评论 -
android 电池(三):android电池系统
关键词:android电池系统电池系统架构 uevent power_supply驱动平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:S5PV310(samsungexynos4210) 、samsung exynos4412作者:xubin341719(欢迎转载,请注明作者)欢转载 2014-05-14 14:50:56 · 734 阅读 · 0 评论 -
android电池(四):电池 电量计(MAX17040)驱动分析篇
关键词:android 电池 电量计 MAX17040 任务初始化宏 power_supply平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210、exynos 4412 、exynos 5250作者:xubin341719(欢迎转载,请注明作者)欢迎指正错误,共同学习、共同进步!!转载 2014-05-14 14:52:59 · 931 阅读 · 0 评论 -
编译android 之后生成的 img 文件介绍
在编译android 之后,会生成几个image 文件, 这些文件是: 1。 ramdisk.img : 一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount , 这个文件中只是包含了 /init 以及一些配置文件,这个ramdisk 被用来调用init,以及把真正的root file system mount 起来。 2。system.i转载 2017-06-06 09:16:10 · 808 阅读 · 0 评论 -
(DT系列一)DTS结构及其编译方法
DTS结构及其编译方法一:主要问题1,需要了解dtsi与dts的关系2,dts的结构模型3,dts是如何被编译的,以及编译后会生成一个什么文件.二:参考文字1,DTS(device tree source).dts文件是一种ASCII文本格式的DeviceTree描述。基本上,在ARMLinux内,一个.dts文件对应转载 2017-06-06 10:32:53 · 331 阅读 · 0 评论 -
(DT系列二)device tree的书写规范
devicetree的书写规范下面从节点,属性,reg,ranges,中断控制器等几个方面叙述devicetree的书写规范。1,dts的基本元素:节点.dts(或者其include的.dtsi)基本元素为结点和属性。举例说明节点的概念:/ { node1 { a-string-property = "A string"; a转载 2017-06-06 10:34:45 · 175 阅读 · 0 评论 -
(DT系列三)系统启动时, dts 是怎么被加载的
一,主要问题:系统在启动的时候,是怎么加载 dts的;Lk,kernel中都应调查。二:参考文字dts加载流程如下图所示:启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存,把地址等相关信息传给kernel。kernel中,会根据传入的信息创建设备。1,先从l转载 2017-06-06 10:39:00 · 299 阅读 · 0 评论 -
(DT系列四)驱动加载中, 如何取得device tree中的属性
本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的。一:系统级初始化DT_MACHINE_START 主要是定义"struct machine_desc"的类型,放在 section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。#define DT_MACHINE_START(_name转载 2017-06-06 10:42:33 · 174 阅读 · 0 评论 -
(DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
Linux kernel 是怎么将 devicetree中的内容生成plateform_device1,实现场景(以Versatile Express V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_init函数的作用就是利用 dt(device tree)结构初始化 platform device。static转载 2017-06-06 10:45:06 · 259 阅读 · 0 评论 -
深入浅出 - Android系统移植与平台开发(九)- JNI介绍
JNI是在学习Android HAL时必须要面临一个知识点,如果你不了解它的机制,不了解它的使用方式,你会被本地代码绕的晕头转向,JNI作为一个中间语言的翻译官在运行Java代码的Android中有着重要的意义,这儿的内容比较多,也是最基本的,如果想彻底了解JNI的机制,请查看:http://docs.oracle.com/javase/1.5.0/docs/guide/jni/s转载 2013-03-20 17:39:15 · 688 阅读 · 0 评论 -
深入浅出 - Android系统移植与平台开发(七)- 初识HAL
1. HAL的module与stubHAL(Hardware AbstractLayer)硬件抽象层是Google开发的Android系统里上层应用对底层硬件操作屏蔽一个软件层次,说白了,就是上层的应用不用关心底层硬件具体如何工作的,只要向上层提供一个统一的接口即可,这种设计思想广泛的存在于当前的软件架构设计里。严格来讲,Android系统里完全可以没有HAL硬件转载 2013-03-20 16:47:11 · 814 阅读 · 0 评论 -
android adb常用指令
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出adb命令查询模拟器/设备实例给特定的模拟器/设备实例发送命令安装软件转发端口转载 2011-12-19 00:45:05 · 706 阅读 · 0 评论 -
adb command
命令行工具ADB(Andvoid Debug Bridge)是Android提供的一个通用的调试工具,借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作: 1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级; 2、在设备上运行shell命令; 3、管理设备或手机模拟器上的预定端口; 4、在设备或手机模拟器上复制或粘贴文件; 5、安装.apk转载 2011-12-19 01:21:08 · 594 阅读 · 0 评论 -
ANDROID-Developing-tools-adb
Tools:Android Debug BridgeADB quickviewManage the state of an emulator or deviceRun shell commands on a deviceManage port forwarding on an emulator or deviceCopy files to转载 2012-04-07 14:36:36 · 797 阅读 · 0 评论 -
Android ADB 命令
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USBdebugging.对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录.转载 2012-04-07 14:28:34 · 421 阅读 · 0 评论 -
grep用法好简单,看bird兄教你玩转grep
前言:什麼是正規表示法約略瞭解了 Linux 的基本指令 (BASH) 並且熟悉了 vim 之後,相信你對於敲擊鍵盤的打字與指令下達比較不陌生了吧? 接下來,底下要開始介紹一個很重要的觀念,那就是所謂的『正規表示法 (Regular Expression)』囉!什麼是正規表示法任何一個有經驗的系統管理員,都會告訴你:『正規表示法真是挺重要的!』 為什转载 2012-04-14 11:18:57 · 1273 阅读 · 0 评论 -
libstdc++.so.6 error
在编译的时候出现打不开libstdc++.so.6打不开问题,这是一个c/c++的库文件。这个库文件在系统本身文件夹/usr/lib里面有,然后有32bit和64bit之分。因为我的系统是64bit的,所以一直找64bit的库,但是最后安装了lib32stdc++.6文件解决了问题。貌似编译的时候不是用到系统的库文件,而是需要安装一个32bit的库文件。在解决问题的过程中,原创 2012-12-23 12:48:56 · 473 阅读 · 0 评论 -
android 4.0.4的默认壁纸的修改
android 4.0.4的默认壁纸的修改时间: 2012-12-28 15:54:30.0分类: 编程语言/ Java/ 文章增加可选壁纸:1. 制作 wallpaper_xxx.jpg (960*800)wallpaper_xxx_small.jpg (213*189)拷贝图片到 /android/a10/android-4.0/android4转载 2013-01-03 16:20:19 · 945 阅读 · 0 评论 -
Makefile与Kconfig和.config使用 (2012-10-19 15:16:22)
转载▼标签: 杂谈分类: 嵌入式 内核源码树的目录下都有两个文档 Kconfig (2.4版本是Config.in)和 Makefile。分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。 在内核配置make menuconfi转载 2013-01-08 01:09:45 · 714 阅读 · 0 评论 -
如何不重新编译替换默认壁纸
2012-08-15 09:41 142人阅读 评论(0) 收藏 举报1. 默认壁纸在系统源码里是放在device/amlogic/f24ref_l/overlay/frameworks/base/core/res/res/drawable-large-nodpi 和 drawable-xlarge-nodpi下的default_wallpaper.jpg,另外,进入设置时默认的黑色背景,转载 2013-01-30 21:30:08 · 725 阅读 · 0 评论 -
Android 重新编译frameworks/base/core/res资源文件
分类: android2012-08-16 18:09 617人阅读 评论(2) 收藏 举报在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文件.编译顺序和注意事项如下:1,资源文件位置:frameworks/base/core/res2,编译后生成的文件:framework-res.apk 另外com.android.internal.R会更新这个R.转载 2013-01-30 21:30:48 · 5812 阅读 · 0 评论 -
Android source build/envsetup.sh学习笔记
如果你只需要修改某一个模块的内容,但是却每次都要执行make, 最后等待很长时间。使用模块编译,那只需要在你所在的模块的目录或者其子目录,执行mm,便可以编译出一个单独的apk,这样岂不快哉!build/envsetup.sh提供了几个有用的shell命令,使用$.build/envsetup.sh(注意点号)或者$sourcebuild/envsetup.sh可以引入到shell转载 2013-01-16 11:20:49 · 8914 阅读 · 2 评论 -
LCD与触摸屏坐标转换
想要弄明白LCD屏幕坐标和触摸屏坐标的关系,得先从LCD触摸屏的结构说起。一般我们接触到的触摸屏都有两层,一层是纯粹的LCD液晶显示面板,其上就是一层透明的触摸屏薄膜。要说的是,LCD显示屏和触摸屏都有各自的分辨率指标,也就相当于它们的坐标系,现假定他们的坐标系分别为(x,y)和(X,Y)。就像我所测试的LCD显示屏的分辨率为1024*600,它的坐标原点(0,0)是左上角,右下角坐标为(1024转载 2013-03-28 22:14:55 · 2902 阅读 · 0 评论 -
Android架构详解
Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。第二部分将详细介绍这5个部分。下面自底向上分析各层。Android架构 1、Linux Kernel Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理转载 2013-03-17 08:03:10 · 634 阅读 · 0 评论 -
Android开发之旅:android架构
2010-04-15 19:40 by 吴秦, 44705 阅读, 16 评论, 收藏, 编辑引言通过前面两篇:Android 开发之旅:环境搭建及HelloWorldAndroid 开发之旅:HelloWorld项目的目录结构我们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一转载 2013-03-17 08:11:56 · 529 阅读 · 0 评论 -
Google工程师多图详解Android架构
Google的一位工程师Sans Serif发布了一篇博文非常清楚的描述了Android系统架构,中国移动通信研究院院长黄晓庆在新浪微博上推荐了该文,并认为文中对Android的介绍很好,您可以看一下Google工程师眼中的Android系统架构是什么样的。以下为Sans Serif博文的译文: Andriod是什么? 首先,就像Android开源和兼容性技术负责人Dan Mo转载 2013-03-17 08:20:58 · 650 阅读 · 0 评论 -
Android HAL实例解析
Android HAL实例解析2010-12-07 15:08 33063人阅读 评论(39) 收藏 举报androidjnimodulestructservicemethods目录(?)[+]华清远见讲师 刘洪涛一、概述 本文希望通过分析台湾的Jollen的mokoid 工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid H转载 2013-03-20 16:04:09 · 575 阅读 · 0 评论 -
深入浅出 - Android系统移植与平台开发(八)- HAL Stub框架分析
1. HAL Stub框架分析HAL stub的框架比较简单,三个结构体、两个常量、一个函数,简称321架构,它的定义在:@hardware/libhardware/include/hardware/hardware.h@hardware/libhardware/hardware.c[cpp] view plaincop转载 2013-03-20 16:46:17 · 685 阅读 · 0 评论 -
(DT系列六)devicetree中数据和 struct device有什么关系
devicetree中数据和structdevice有什么关系总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数。下面先把其源码中传递过程描述如下(仍以At91rm9200为例):1,DT_MACHINE_START(at91sam_dt,"转载 2017-06-06 10:46:33 · 429 阅读 · 0 评论