- 博客(43)
- 资源 (23)
- 收藏
- 关注
原创 android 框架
.|-- bionic Android"仿生"庫,包含了一些基礎庫。它存在的意義在于避規GPL| |-- libc C庫。| | |-- arch-arm libc針對arm部分的實現| | |-- arch-x86 libc針對x86部分的實現。(查看后發現很多是open BSD的代碼,如果缺什么可以從open BSD中"抄"過來,比如sigsetjmp.S ……)| | |-- b
2010-01-30 16:12:00 2044
原创 android中框架设计的小总结
这是对框架设计应用的一个小的总结package com.misoo.ex01;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;public class ex01 extends Activity {public static fina
2010-01-29 11:12:00 2963
原创 android 调试桥(adb) [转]
不得不承认google做的东西就是对开发人员很贴心~~~ 非常方便的调试, 可以把真机当模拟器一样debug,线程查看,对象查看。。。。你需要的只是一根连接你真机和开发机的数据线! 以下文字是转载网上的,介绍了adb这个强大的工具。 同时adb的强大功能基本上都集成到eclipse插件的DDMS里面了。。。非常方便,好用!! Android 调试桥(adb)是多种用途的工具
2010-01-29 10:58:00 1831
原创 Android权限说明
Android权限分的很细,但命名比较人性化,Android permission比Symbian Capabilities有了不少改进,下面就来看看权限许可都有哪些定义吧,发现还是比较繁多的,如果发现你的程序某个地方调试错误很可能是Android permission的访问控制在作怪,这也是为了安全防止手机成为病毒的场所。Android开发网获取到的消息来看不用购买高昂的数字签名证书,权限许可权
2010-01-29 10:51:00 1312
原创 Android核心技术:Dalvik 虚拟机移植指导
Dalvik 移植指导Dalvik虚拟机可以在很多平台上运行,这些平台的操作系统至少是一个运行着GNUC编译器的类似于UNIX的平台(Linux,BSD,Mac OS X)。本文档指导读者如何把Dalvik虚拟机移植到一个Linux平台上,本文档假定我们要移植的平台和目前android平台在代码架构上有一定的相似性,可以进行移植。核心库的移植核心库的源代码主要在Dalvik/libco
2010-01-25 11:59:00 2937
原创 在Linux下产生并调试core文件
先看看我用的是个什么机器:$ uname -aLinux dev 2.4.21-9.30AXsmp #1 SMP Wed May 26 23:37:09 EDT 2004 i686 i686 i386 GNU/Linux再看看默认的一些参数,注意core file size是个0,程序出错时不会产生core文件了。$ ulimit -acore file size (block
2010-01-24 18:23:00 1011
原创 浅析Linux下core文件
当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们如何利用core文件找到出现崩溃的地方。 何谓core文件 当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的
2010-01-24 18:19:00 819
原创 CPU Cache技术学习笔记
1,cache机制简述1.1 what is direct mapped / fully associative cache / N-way set associative?The cache is subdivided into subsets of lines. cache line 指在慢速的off-chip dram和快速的on-chip cpu cache间数据传输的最小单位,一般使
2010-01-23 15:38:00 2776
原创 Linux内核中内存cache的实现
1. 前言kmem_cache是Linux内核提供的快速内存缓冲接口,这些内存块要求是大小相同的,因为分配出的内存在接口释放时并不真正释放,而是作为缓存保留,下一次请求分配时就可以直接使用,省去了各种内存块初始化或释放的操作,因此分配速度很快,通常用于大数量的内存块分配的情况,如inode节点,skbuff头, netfilter的连接等,其实kmalloc也是从kmem_ca
2010-01-23 15:38:00 1797
原创 ARM中的Ramdisk的使用
Linux启动时,initrd可以在内存中,也可以在 Flash或其它可用的设备上;initrd文件格式为: romfs/Minix/ext2/gzip;相关的函数:drivers/block/rd.c: identify_ramdisk_image ;加载位置: init/main.c: prepare_namespace;需要的参数为:initrd_start 和 initrd_end
2010-01-23 15:28:00 1531
原创 arm-linux-gcc和arm-elf-gcc 区别
在基于ARM的嵌入式系统开发中,常常用到交叉编译的GCC工具链有两种: arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。arm-linux-*使用 GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。uClibc/uC-libc以及 newlib都是C语言库文件,只
2010-01-23 15:25:00 1010
原创 优化C语言代码(程序员必读)
1、选择合适的算法和数据结构 应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代替,都可以大大提高程序执行的效率。.选择一种合适的数据结构也很重要,比如你在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具
2010-01-23 15:23:00 997
原创 Android线程模型
当第一次启动一个Android程序时,Android会自动创建一个称为“main”主线程的线程。这个主线程(也称为UI线程)很重要,因为它负责把事件分派到相应的控件,其中就包括屏幕绘图事件,它同样是用户与Andriod控件交互的线程。比如,当你在屏幕上按下一个按钮后,UI线程会把这个事件分发给刚按得那个按钮,紧接着按钮设置它自身为被按下状态并向事件队列发送一个无效(invalidate)请求
2010-01-23 15:21:00 774
原创 安定人哦诶的mktoolchain制作
----------------------- srcipt: mktoolchain ----------------------------------#!/bin/sh### Create GNU toolchain from scratch (with GPL 2.0).## http://AndroidSprite.spaces.live.com## Authors: # Kon
2010-01-23 15:17:00 1005
原创 移植Android到具体硬件编译器的制作
国内外很多同行朋友在努力porting Android到具体的硬件平台上。既然有那么多的朋友对此感兴趣,在接下来的几个贴子里,我一步步地讲解自己的移植过程。只可惜我们的板子没有GSM通信模块,不过其他已全部移植成功。 今天先做第一事件--也是所有移植工作的最初几件事之一,就是build一个支持Android的编译器。这就要求build一个至少能支持ARM926EJ-S CPU指令集及EABI规范的
2010-01-23 15:15:00 3165
原创 开源架构
opensourcehttp://android.git.kernel.org/ ftp://ftp.kernel.org/pub/linux/ http://www.gnu.org/ http://opensource.limofoundation.org/index.php/limo-open-source.html http://code.google.com/p/max
2010-01-18 21:28:00 1264
原创 android ndk log
Android NDK发布后,java+C的编程方式成为android上性能编程的首选。但在C中调试困难,因此能使用logcat成为必须的要求。关于在Native代码中使用logcat,网上有很多说法,大部分有所欠缺,有的根本是错的。要使用logcat,首先在代码中要引入 log的头文件。#include 然后你可以简单的通过__android_log_write(AN
2010-01-18 15:51:00 5074
原创 Android NDK概述
介绍:Android NDK是一套工具,允许Android应用开发者嵌入从C、C++源代码文件编译来的本地机器代码到各自的应用软件包中。重要:Android NDK 只能被用于使用该平台的Cupcake (1.5)或是更新发布的系统映像。特别指出1.0和1.1系统映像不支持NDK,这是由于在1.5发布中对toolchain和相关ABI做了改变。1.Android NDK的目标:----------
2010-01-18 15:51:00 2232
原创 开发Android第四步,Android NDK 1.6 及 android gcc toolchain
2009-11-29 16:58开发Android第一步,安装SDK 1.6, 模拟器及安装游戏 开发Android第二步,安装 java, apache ant, Eclipse 及在模拟器安装编译程序开发Android第三步,签名证书,真机安装编译程序开发Android第五步,G1 安装 Linux Debian system开发Android第四步,Android N
2010-01-18 15:50:00 3303
原创 Android NDK
1、前言 6月26日,Google Android发布了NDK,引起了很多发人员的兴趣。NDK全称:Native Development Kit。下载地址为:http://developer.android.com/sdk/ndk/1.5_r1/index.html。2、误解 新出生的事物,除了惊喜外,也会给我们带来一定的迷惑、误解。2.1、误解一:NDK发布之前,Andro
2010-01-18 15:34:00 3381 1
原创 Android的底层库libutils介绍
第一部分 libutils概述 libutils是Android的底层库,这个库以C++实现,它提供的API也是C++的。Android的层次的C语言程序和库,大都基于libutils开发。 libutils中的头文件如下所示: frameworks/base/include/utils libutils的源文件: frameworks/base/libs/utils libutils
2010-01-17 17:32:00 2936
原创 jni / C for android 技术总揽
Android编译环境(1) - 编译Native C的helloworld模块Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其
2010-01-17 17:28:00 1679
原创 Android输入事件流程
Android输入事件流程转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 EventHub对输入设备进行了封装。输入设备驱动程序对用户空间应用程序提供一些设备文件,这些设备文件放在/dev/input里面。EventHub扫描/dev/input下所有设备文件,并打开它们。bool Eve
2010-01-17 17:23:00 760
原创 android支持多点触摸的补丁
android支持多点触摸的补丁以及demo文件:MultiTouchDemo.zip大小:2633KB下载:下载修改文件frameworks/base/services/java/com/android/server/KeyInputQueue.java为如下内容/* *
2010-01-17 17:10:00 2091
原创 Anroid中的Intent
1:什么是 IntentIntent是对被执行操作的抽象描述。调用 startActivity(Intent),可以启动 Activity;调用 broadcastIntent(Intent),可以把 Intent 发送给任何相关的 IntentReceiver 组件;调用 startService(Intent, Bundle) 以及 bindService(Intent
2010-01-17 17:01:00 896
原创 什么是syslogd
什么是syslogd syslogd可以简单地被称为记录系统活动的一个daemons。比如可以记录谁,在什么时 间,在哪里,做了什么事情(像是在写记叙文啊);也可以记录您的系统曾经发生过什么事情,比如什么时候重新引导过、软硬件的错误信息等;当然也记录着您系 统上运行着的服务的信息。 很多时候,有朋友上来就问,“我的X不能启动了是怎么回事啊?!”问号和叹号这样使用在语文规范上是不允许 的,但是我
2010-01-17 16:56:00 1473
原创 Android 网站资源收集大全
Android 网站资源收集大全(不断更新中)Android开发者论坛http://www.androidin.com/google主站:http://code.google.com/android/E文文档http://code.google.com/android/documentation.htmlAndroid中国开发者团队google groupshttp
2010-01-17 16:54:00 899
原创 android JNI编程 一些技巧(整理)
本篇将介绍在JNI编程中如何传递参数和返回值。首先要强调的是,native方法不但可以传递Java的基本类型做参数,还可以传递更复杂的类型,比如String,数组,甚至自定义的类。这一切都可以在jni.h中找到答案。1. Java基本类型的传递用过Java的人都知道,Java中的基本类型包括boolean,byte,char,short,int,long,float,double
2010-01-17 16:51:00 1837 1
原创 Android Power Management
总体上来说Android的电源管理还是比较简单的, 主要就是通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理架构图如下: (注该图来自Steve Guo) 接下来我们从Java应用层面, Android framework层面, Linux内核层面分别进行详细的讨论:应用层的使用:Android提供了现成android.os.Po
2010-01-17 16:48:00 915
原创 android 手动配置 emulator
1.安装Android程序1).启动模拟器,emulator;2).通过adb install *.apk其实将apk文件上传到了模拟器自带操作系统的data/app目录下了;3).可以在android的界面下打开apk应用程序了2.删除Android应用程序如果要卸载apk却没有提供adb uninstall这个命令,要移除只好进入模拟器操作系统的文件系统内部手动删除
2010-01-17 16:45:00 1656
原创 DDR,DDR2與DDR3的區別
在相同 的系統外頻下,DDR,DDR2,DDR3的頻率分別增長2,4,8倍。可以提供很高的數據帶寬。DDR,DDR2與DDR3的區別DDR是一種繼SDRAM後產生的記憶體技術,DDR,英文原意為“DoubleDataRate”,顧名思義,就是雙資料傳輸模式。之所以稱其為“雙”,也就意味著有“單”,我們日常所使用的SDRAM都是“單資料傳輸模式”,這種記憶體的特性是在一個記憶體時鐘
2010-01-17 13:41:00 4708
原创 USB无线网卡驱动RT73的移植
1.RT73无线网卡驱动: http://www.ralinktech.com.tw/data/drivers/2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2 2.解压 # tar -xvzf 2009_0206_RT73_Linux_STA_Drv1.1.0.2.tar.bz2 # cd 2009_2006_RT73_Linux_STA_Drv_1
2010-01-15 18:54:00 2734
原创 WIFI
WIFI相关简述全称Wireless Fidelity,又称802.11b标准,它的最大优点就是传输速度较高,可以达到11Mbps,另外它的有效距离也很长,同时也与已有的各种802.11 DSSS设备兼容。今夏最流行的笔记本电脑技术——迅驰技术就是基于该标准的。 IEEE([美国]电子和电气工程师协会)802.11b无线网络规范是IEEE 802.11网络规范的变种,最高带宽为11 Mb
2010-01-15 18:38:00 1880
原创 关于802.11协议族
802.11a高速WLAN协议,使用5G赫兹频段。 最高速率54Mbps,实际使用速率约为22-26Mbps 与802.11b不兼容,是其最大的缺点。也许会因此而被802.11g淘汰。802.11b目前最流行的WLAN协议,使用2.4G赫兹频段。 最高速率11Mbps,实际使用速率根据距离和信号强度可变 (150米内1-2Mbps,50米内可达到11Mbps) 802.11b的较
2010-01-15 18:34:00 1587
原创 WIFI环境搭建
1.WIFI介绍Wi-Fi(WirelessFidelity),即无线保真,与蓝牙技术一样,同属于在办公室和家庭中使用的短距离无线技术。该技术使用的使2.4GHz附近的频段,该频段目前尚属没用许可的无线频段。其目前可使用的标准有两个,分别是IEEE802.11a和IEEE802.11b。Wi-Fi技术突出的优势在于: 其一,无线电波的覆盖范围广,基于蓝牙技术的电波覆盖范围
2010-01-15 18:30:00 6736 1
原创 Linux下Libpcap源码分析和包过滤机制
libpcap是unix/Linux平台下的网络数据包捕获函数包,大多数网络监控软件都以它为基础。libpcap可以在绝大多数类unix平台下工作,本文分析了libpcap在Linux 下的源代码实现,其中重点是Linux的底层包捕获机制和过滤器设置方式,同时也简要的讨论了 libpcap使用的包过滤机制 BPF。网络监控绝大多数的现代操作系统都提供了对底层网络数据包捕获的机制,在捕获机制之上可以
2010-01-15 16:14:00 1300
原创 Libpcap开发集介绍
Libpcap开发集介绍libpcap是一个C语言库,libpcap的英文意思是 Packet Capture library,即数据包捕获函数库,其功能是通过网卡抓取网络以太网中的数据包。这个库为不同的平台提供了一致的c函数编程接口,在安装了 libpcap 的平台上,以 libpcap 为接口写的程序、应用,能够自由地跨平台使用。它支持多种操作系统。libpcap 结构简单,使用方便;
2010-01-15 16:11:00 1430
原创 浅析u盘等热插拔uevent事件用户空间截获方法和具体实现
#include stdio.h>#include string.h>#include sys/types.h>#include unistd.h>#include stdlib.h>#include sys/socket.h>#include linux/netlink.h>#define UE
2010-01-15 15:53:00 1789
原创 Linux内核网络栈代码的准备知识详述
1. Linux内核ipv4网络部分分层结构:BSD socket层: 这一部分处理BSD socket相关操作,每个socket在内核中以struct socket结构体现。这一部分的文件主要有:/net/socket.c /net/protocols.c etcINET socket层:BSD socket是个可以用于各种网络协议的接口,而当用于tc
2010-01-15 15:47:00 747
转载 netlink socket编程之why & how
作者: Kevin Kaichuan He@2005-1-5 翻译整理:duanjigang @2008-9-15duanjigang1983@126.com>原文: http://www.linuxjournal.com/article/7356 开发和维护内核是一件很繁杂的工作,因此,只有那些最重要或者与系统性能息息相关的代码才将其安排在内核中。其它程序,比如GUI,管理以及控制部分的
2010-01-15 15:45:00 913
WebKit 研究报告(侯炯)
2012-05-10
ALSA 驱动架构说明
2012-04-06
Android 高效编程注意事项
2012-04-06
android系统vold透析
2012-04-06
android 核心学习资料
2010-09-09
MPEG-2 压缩编码技术原理应用
2010-05-12
Pthreads Programming
2010-03-24
The Linux Kernel API
2010-03-24
The Linux TCP/IP Stack: Networking for Embedded Systems
2010-03-24
usb 鼠标驱动注解及测试
2010-03-24
用 FPGA 如何自己设计 CPU 和制作计算机
2010-03-24
avs 标准文档中的源码
2009-10-13
项目管理知识体系指南
2009-10-06
PMP项目管理原版书籍
2009-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人