android
文章平均质量分 91
悟道禅师
这个作者很懒,什么都没留下…
展开
-
深入PCI与PCIe之一:硬件篇
最近在学习驱动开发过程中涉及到PCI相关知识,在网上看了很多文章,良莠不齐,我总结一下比较好的文章分享给大家,那就从源头开始说起。PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。虽然Intel为了方便各种IP的接入而提出IOSF总线,但是其主体接口(primary interface)还依然是PCIe形式。我们下面分成两部分介绍PCI和他的继承者PCIe(PCI express):第一部分是历史沿革和硬件架构;第二部分是软件界面和转载 2021-06-26 16:30:39 · 1663 阅读 · 0 评论 -
Android 新建一个lunch项(全志方案)
方法1. 在android4.0\device\softwinner\目录下,拷贝一份原来的目录(如:crane-evb),命名为crane-xx,文件夹命名必须以“crane-”开头;2. 把android4.0\device\softwinner\crane-xx目录下的crane_evb.mk重命名为crane_xx.mk;3. 把crane_xx.mk中,目录名及产品信原创 2013-03-14 09:59:53 · 3293 阅读 · 0 评论 -
Android overlay系统
视频输出系统在android中体现为overlay,overlay的意思为 :覆盖铺在…上面,既然覆盖我们要考虑主要是覆盖在什么之上,在linux显示系统中用于界面显示的一般使用帧缓存(framebuffer),framebuffer是linux系统为显示设备提供一个接口,他将显示缓冲区抽象,屏蔽图像硬件的底层差异,帧缓冲设备为标准的字符设备,主设备号为29,对应/dev/fbn设备文件,帧缓冲在转载 2013-03-14 08:52:38 · 5761 阅读 · 0 评论 -
Android4.x 如何处理Power按键
1. 简介 Android4.x在Framework的PhoneWindowManager对Power(KeyEvent.KEYCODE_POWER)和Home(KeyEvent.KEYCODE_HOME)键做了处理,不会把这些键传送上层应用程序。如需要把这些键发送给Activity和Service,需要在PhoneWindowManager处理这些键时“发送一个广播出去,然转载 2013-02-27 18:21:25 · 957 阅读 · 0 评论 -
android 关机 流程分析
嵌入式系统一般都有一个关机按键,长按这个按键系统会弹出关机对话框,提示关机确认,关机动作从按键触发中断,linux kernel层给android framework层返回按键事件进入 framework层,再从 framework层到kernel层执行kernel层关机任务。长按键对应的handler代码:frameworks/policies/base/phone/com/a转载 2013-02-28 14:44:58 · 1637 阅读 · 0 评论 -
安卓关机(1)
最近安卓定时开关机,找了好几种方法,总结一下供以后用:刚开始使用的定时关机实现的方法其实是定时休眠方法如下: PowerManager pManager=(PowerManager) getSystemService(Context.POWER_SERVICE); pM原创 2013-02-27 16:54:56 · 773 阅读 · 0 评论 -
安卓关机(3)
第三种方法是安卓命令形式: // TODO Auto-generated method stub String cmd = "su -c reboot"; try { Runtime.getRuntime原创 2013-02-27 17:05:55 · 596 阅读 · 0 评论 -
安卓关机(2)
第二种方法是用安卓内部的一个api接口: package com.norco.shutdown;import android.os.SystemClock;import android.app.Activity;import android.content.Context;import android.content.In原创 2013-02-27 17:03:48 · 960 阅读 · 0 评论 -
google!
http://203.208.46.144/原创 2013-03-10 12:55:07 · 874 阅读 · 0 评论 -
安卓3D测试软件
Neocore 测试值在30FPS以上应该就差不多了原创 2013-03-08 17:05:42 · 1124 阅读 · 0 评论 -
Android应用多语言支持实现(方法一)
在AndroidMianFest.xml中配置,通过配置就可以明白,配置如下:一.AndroidMianFest.xml中配置 二.设置选原创 2013-02-22 09:46:29 · 1061 阅读 · 0 评论 -
Android开发教程类专题资料免费下载
http://www.xuexi111.com/s/android/index.html原创 2013-03-07 19:00:42 · 925 阅读 · 0 评论 -
安卓按键关机------- KEYCODE_POWER
在安卓中按键关机牵涉的文件位于 myandroid/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java在这个文件中找到 case KeyEvent.KEYCODE_POWER: { result &= ~ACTION_PASS_T原创 2013-03-06 13:47:47 · 4085 阅读 · 0 评论 -
Android应用多语言支持实现(方法二)
第一步:将应用中的所有需要显示的字符串,如菜单,标题、文本,以及提示信息等都定义到values/strings.xml之中,注意name属性不能有重复第二步:将应用中的字符串替换成从strings.xml中引用的形式,如 getResources().getString(R.string.appname)第三步:真正的多语言设置了,需要新建一个xml文件(Eclipse的 File - N原创 2013-02-22 10:01:09 · 1677 阅读 · 0 评论 -
android wifi驱动移植及其部分问题回答
Update(19/05/2011): Verify validity against Gingerbread.Update (11/08/2010): Updated patch to fix the loading of awext driver at run time.Added STOP and RESTART commands. For mini-box.com pi转载 2013-03-21 10:38:51 · 18322 阅读 · 0 评论 -
android智能手机项目开发小结
从上周六到截至今天下班时,历时一个星期,把一个客户的新项目的板子bring up起来,目前的状态是这个双卡双待的手机能正常运行,LCD色彩、声音、GSM call、sensor、camera、touchkey、keypad、backlight、fm、headphone等都正常工作,可以送QA作进一步的测试,还是有一些需要继续优化的地方。下周跟QA同志们,hardware同志们一起努力,争取客户样机转载 2013-03-16 14:49:42 · 1131 阅读 · 1 评论 -
allwinner script_parser_fetch()函数
最近看allwinner方案。发现他们吧一些东西进行了修改。例如初始化之类的配置文件,allwinner把他们放在一起,这样做的好处就是 容易配置,所有初始化一目了然。非常方便,这个配置文件在哪提现到用呢?ALLwinner 在每个驱动初始化时候都加了这么一个函数:int script_parser_fetch(char *main_name, char *sub_name, int valu原创 2013-03-23 10:53:04 · 4928 阅读 · 6 评论 -
android4.2系统bug
android4.2.2部分系统bug原创 2013-09-03 09:46:48 · 1788 阅读 · 17 评论 -
Android Launcher2源码分析主布局文件
Android系统的一大特色是它拥有的桌面通知系统,不同于IOS的桌面管理,Android有一个桌面系统用于管理和展示APP以及桌面Widget等。Android提供一个默认的桌面应用,当然我们也可以使用第三方的桌面应用。Android的Launcher的源码在 \packages\apps\Launcher2。Launcher2的主布局文件包括res\layout-land\launc原创 2013-09-02 22:25:47 · 1449 阅读 · 0 评论 -
WIFI连接流程
Wifi 连接部分 当用户选择一个AP时会弹出一个AP参数配置对话框,此对话框会显示当前选择的AP信号强度,若此AP设置了密码则需要用户输入密码才能登录。WifiSettings中的 onPreferenceTreeClick会被调用 @Override public boolean onPreferenceTreeClick(Pre转载 2013-08-31 13:49:56 · 1457 阅读 · 0 评论 -
Android平台开发-WIFI function porting-WIFI功能移植
一、WIFI的基本架构 1、wifi用户空间的程序和库: external/wpa_supplicant/ 生成库libwpaclient.so和守护进程wpa_supplicant。 2、hardware/libhardware_legary/wifi/是wifi管理库。 3、JNI部分: fram转载 2013-08-31 10:48:11 · 1237 阅读 · 0 评论 -
Invalid file name: must contain only [a-z0-9_.]
[a-z0-9_.]是正则表达式,意思是文件名称只能包含小写字母、数字、下划线和点。原创 2013-07-04 09:20:27 · 960 阅读 · 0 评论 -
Android Launcher分析和修改2——Icon修改、界面布局调整、壁纸设置
上一篇文章说了如何修改Android自带Launcher2的默认界面设置。 今天主要是说说Launcher里面图标、布局、壁纸等的设置问题。毕竟我们一般修改Launcher,这些都是需要修改的地方,也是比较容易修改的部分。按照效果图(效果图在上一篇文章),分开说明如何修改,以及里面涉及的逻辑分析。1、图标大小和标题大小 Android原生图标大小都是通过配置文件转载 2013-07-10 08:57:34 · 9746 阅读 · 0 评论 -
Android Launcher分析和修改1——Launcher默认界面配置(default_workspace)
最近工作都在修改Launcher,所以打算把分析源码和修改源码的过程记录下来,最近会写一些关于Launcher的分析和修改博文。因为我是修改4.0.3的Launcher,所以后面文章里面的Launcher都是基于Android4.0.3的Launcher2修改。Launcher源码比较多,而且里面应用了很多设计模式,要把它分析清楚要花不少精力,网上也有一些零碎的分析文章,不过关于修改的文章不多。所转载 2013-07-10 08:54:46 · 9783 阅读 · 1 评论 -
用TP做贴脸熄屏的方法
手机上一般都用距离感应器来做通话时的贴脸熄屏,而现在的TP芯片一般也都具有了这个功能,所以如果TP能够实现贴脸熄屏的话,将可以省下距离感应器的成本。其原理就是通话时打开TP的电容感应,通过脸的靠近和移动来检测TP电容的变化,从而判断人脸跟听筒的距离,调整LCD背光的亮灭,在通话断开时关闭TP的此功能即可。 MELFAS的芯片此项功能做法如下:(1)首先定义两个全局变量:转载 2013-05-15 15:30:08 · 1806 阅读 · 0 评论 -
安卓版本管理工具 Repo Git
To work with the Android code, you will need to use both Git and Repo. In most situations, you can use Git instead of Repo, or mix Repo and Git commands to form complex commands. Using Repo for basic原创 2013-04-17 11:04:54 · 1567 阅读 · 0 评论 -
安卓4.1 桌面字体 图标太大问题
今天做一个4.1的img 平板固件 烧写进去发现如果把字体改成超大时候 桌面字体不能完全显示。找了下安卓代码最后修改好了。现在分享一下修改内容: 由于我的ro.sf.lcd_density=180 。故我修改源码下app/Launcher2/res/value-sw480dp/dimens.xml这个文件查了下主要参数。发现修改app_icon_size参数的大小起决定作用原创 2013-04-15 11:17:01 · 3360 阅读 · 0 评论 -
android长按home键流程
home键在KeyEvent中的键值为3. public static final int KEYCODE_HOME = 3; 当用户按下home键的时候(包括长按),程序会进入到PhoneWindowManager.java类中的public boolean interceptKeyBeforeDispatching(WindowState win转载 2013-03-27 09:12:06 · 20315 阅读 · 2 评论 -
Android 中的WiFi学习笔记——经典
Android的WiFi我们通常看到WiFi的守护进程wpa_supplicant在我们的ps的进程列表中,这个就是我们的wifi守护进程。wpa_supplicant在external/wpa_supplicant里实现wpa_supplicant适配层是通用的wpa_supplicant的封装,在Android中作为WIFI部分的硬件抽象层来使用。wpa_supplicant适配层主要用于封装转载 2013-04-08 09:07:19 · 1208 阅读 · 0 评论 -
Android权限之sharedUserId和签名
最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份。 安装在设备中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装转载 2013-02-19 19:26:04 · 678 阅读 · 0 评论 -
android 取消RTC闹钟程序
canclebutton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent=new Intent(ShutdownActivity.this,TimeReciever.class); PendingIntent pendingIntent原创 2013-02-19 10:31:21 · 4582 阅读 · 0 评论 -
android 休眠唤醒机制分析(二)
early_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd、tp等设备为运行的应用节约电能。Android的PowerManagerService会根据用户的操作情况调整电源状态,如果需要休眠则会调用到HAL层的set_screen_state()接口,在set_screen_state()中会向/sys/power/state节点转载 2013-01-22 08:53:55 · 4929 阅读 · 1 评论 -
【Android】制作签名认证apk并部署的过程
一般情况下,在eclipse下点击run之后可以直接将生成apk部署到模拟器上。但是今天我手动从模拟器上卸载了apk之后,关闭模拟器,再从 eclipse中点击run,模拟器运行起来之后却怎么也不加载我之前卸载的apk项目了(按道理说应该给自动重新安装在模拟器上才对),估计是模拟器配置文件中记载了相关卸载信息,不加载这个项目了。所以只能手动将一个apk安装上了。手动安装apk必须确保apk转载 2013-01-09 13:58:53 · 1273 阅读 · 0 评论 -
android 休眠唤醒机制分析(三)
前面我们分析了休眠的第一个阶段即浅度休眠,现在我们继续看休眠的第二个阶段 — 深度休眠。在深度休眠的过程中系统会首先冻结所有可以冻结的进程,然后依次挂起所有设备的电源,挂起顺序与设备注册的顺序相反,这样保证了设备之间电源的依赖性;直至最后进入省电模式,等待用户或者RTC唤醒;在唤醒过程中则会按照设备注册的顺序依次恢复每个设备的电源进入正常工作状态,解冻相关的进程,然后再进行浅度休眠的唤醒流程。转载 2013-01-22 08:55:56 · 8496 阅读 · 2 评论 -
安卓 Alarm细分析
很久之前写的一个流程文档,从上层界面一直调用到内核的过程,最近同事跟我要,我看了下又在整理了下,纯属个人分析(不过都运行验证过),不对的请大牛指出Alarm 调用流程,alarm的流程实现了从上层应用一直到下面driver的调用流程,下面简单阐述:涉及代码;./packages/apps/DeskClock/src/com/android/deskclock转载 2012-12-17 11:02:57 · 2398 阅读 · 0 评论 -
android 下的 WATCHDOG(3)
相关文件路径:/frameworks/base/services/java/com/android/server/Watchdog.java 类图序列图转载 2012-12-12 15:45:52 · 993 阅读 · 0 评论 -
android 下的 WATCHDOG(2)
在前面的文章中对watchdog在应用的分析台细致。这有一篇思路清晰的关于watchdog在应用程序上的体现的文章:现在的CPU基本上都带有WatchDog功能,这种硬件的WatchDog可以在系统死掉(死锁或者程序跑飞)后重启系统,让系统回到可以工作的状态。WatchDog不能防止系统死掉,但是它能够起死回生,从而提高系统的可用性。硬件级的WatchDog也有它的局限原创 2012-12-12 15:40:31 · 712 阅读 · 0 评论 -
android 下的 WATCHDOG(1)
系统启动过程图: Framework层所有的Service都是运行在SystemServer进程中;SystemServer进程是由Zygote进程创建。SystemServer进程启动分两个过程init1创建Service和进程状态对象;init2创建Framework层的Service,将其加入到ServiceManager中,最后启动launcher;转载 2012-12-12 15:07:35 · 633 阅读 · 0 评论 -
android ramdisk.img的制作过程
一.如何取出ramdisk.img中的包含的所有内容1.下载我们生成的ramdisk.img2.查看ramdisk.img文件类型luther@gliethttp:/vobs/tmp$ luther@gliethttp:/vobs/tmp$ file ramdisk.img ramdisk.img: gzip compressed data, from Unix, last mod原创 2012-11-23 15:48:48 · 1229 阅读 · 0 评论 -
Android 磁盘管理 (4)
上篇文章分析到了handleBlockEvent函数,该函数包含了以下6个处理函数:void handleDiskAdded(const char *devpath, NetlinkEvent *evt);void handleDiskRemoved(const char *devpath, NetlinkEvent *evt);void handleDiskChanged(const转载 2012-11-22 17:06:01 · 1172 阅读 · 0 评论