![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android system
文章平均质量分 52
flyingqr
这个作者很懒,什么都没留下…
展开
-
Android Makefile and build system 分析(转)
<br />前言:预计未来一致两年内移动互联网将会有很大的发展,必将孕育很多的机会,而Google 推出的Android 手机操作系统无疑将是移动互联网中的明星。由于其是开源系统,很有必要对此进行深入研究。<br /> 工欲善其事,必先利其器。Makefile无疑是打开系统架构的一扇窗户。但因Android的Makefile (build system)文件众多,架构复杂,分析起来较为困难。本文梳理了build system的大致脉络,希望对build system感兴趣的同学们有所帮助。<br />转载 2011-01-13 17:45:00 · 641 阅读 · 0 评论 -
android-fire Git和Repo扫盲——如何取得 Android源代码(转)
<br />Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一个工作目录都包含一个完整仓库转载 2011-01-15 17:14:00 · 585 阅读 · 0 评论 -
在fedora 10下载android源码
1. 安装相关软件 通过yum升级和安装 gnupg flex bison gperf zip curl 2. 安装repo curl http://android.git.kernel.org/repo >~/repo (但我没有成功,需要把http://删掉) chmod 777 ~/repo 修改repo的内容git改成http REPO_URL='http://android.git.kernel.org/tools/repo.git' (但我没有成功,需要把h原创 2011-01-16 12:50:00 · 1232 阅读 · 0 评论 -
转 Android Toolchain与Bionic Libc
<br />Android所用的Toolchain(即交叉编译工具链)可从下面的网址下载:<br />http://android.kernel.org/pub/android-toolchain-20081019.tar.bz2。如果下载了完整的Android项目的源代码,则可以在“<your_android>/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin”目录下找到交叉编译工具,比如Android所用的arm-eabi-gcc-4.2.1。<br />A转载 2011-01-21 11:03:00 · 647 阅读 · 0 评论 -
转 Android编译环境(2) - 手工编译C模块
<br />Android编译环境(2) - 手工编译C模块<br /><br />上一篇中(即《Android编译环境(1) - 编译Native C的helloworld模块》),我们试用了通过标准的Android.mk文件来编译C模块,下面我们来试试如何直接运用gcc命令行来编译,从而了解Android编译环境的细节。<br />Android编译环境提供了”showcommands”选项来显示编译命令行,我们可以通过打开这个选项来查看一些编译时的细节。当然,在这之前要把上一篇中的helloworld转载 2011-01-21 11:16:00 · 592 阅读 · 0 评论 -
转 Android编译环境(1) - 编译Native C的helloworld模块
Android编译环境(1) - 编译Native C的helloworld模块<br /><br /><br />Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk.Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给A转载 2011-01-21 11:17:00 · 825 阅读 · 0 评论 -
android makefile
## user/userdebug ## if TARGET_BUILD_VARIANT == user tags_to_install = user if TARGET_BUILD_VARIANT == userdebug tags_to_install = user + debug and enable_target_debugging = true## eng ## if TARGET_BUILD_VARIANT == eng tags_to翻译 2011-01-26 15:49:00 · 1429 阅读 · 0 评论 -
Android.mk for your own module
<br />http://blog.csdn.net/yili_xie/archive/2009/12/09/4971736.aspx转载 2011-01-26 17:45:00 · 510 阅读 · 0 评论 -
转 Android Building System 总结
<br />Android Building System 总结<br /> Android以模块的形式来组织各个系统中的部件,Eng专业点的词汇就是Module,就是各位在几乎每个目录下都<br />能看到的Android.mk。可以简单地把Android所有的Make文件分为4种:<br /> 1、For config<br /> 这类文件主要来配置product,board,以及根据你的Host和Target选择相应的工具以及设定相应的通用编译选项:<br /> b转载 2011-01-26 11:23:00 · 839 阅读 · 0 评论 -
转 Android Manifest.xml解析
转载:http://www.cnblogs.com/jocc/archive/2007/11/25/971511.htmlAndroidManifest.xml是每个android程序中必须的文件。它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 此文件一个重要的地方就是它所包含的intent-filters。这些filters描述了activi转载 2011-02-06 16:24:00 · 782 阅读 · 0 评论 -
转 android init.rc
<br />摘自《Android系统原理及开发要点详解》<br />Android启动脚本init.rc<br />在 Android中使用启动脚本init.rc,可以在系统的初始化过程中进行一些简单的初始化操作。这个脚本被直接安装到目标系统的根文件系统中,被 init可执行程序解析。 init.rc是在init启动后被执行的启动脚本,其语法主要包含了以下内容:<br />Commands:命令<br />Actions: 动作<br />Triggers:触发条件<br />Services:服务<br转载 2011-02-07 10:19:00 · 555 阅读 · 0 评论 -
转 android 启动流程
<br />SystemServer的启动<br />frameworks/base/services/java/com/android/server/SystemServer.java: run()<br />其中调用ActivityManagerService.installSystemProviders(),<br />最终会调用到frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/下<br />的各转载 2011-02-10 18:01:00 · 768 阅读 · 0 评论 -
android MIME
MIME类型MIME (Multipurpose Internet Mail Extensions)是描述消息内容类型的因特网标准。MIME消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。官方的MIME信息是由Internet Engineering Task Force (IETF)在下面的文档中提供的:RFC-822 Standard for ARPA Internet text messagesRFC-2045 MIME Part 1: Format of Internet Message转载 2011-03-03 16:56:00 · 2051 阅读 · 0 评论 -
转 Android SurfaceFlinger中的SharedClient -- 客户端(Surface)和服务端(Layer)之间的显示缓冲区管
<br />SurfaceFlinger在系统启动阶段作为系统服务被加载。应用程序中的每个窗口,对应本地代码中的Surface,而Surface又对应于 SurfaceFlinger中的各个Layer,SurfaceFlinger的主要作用是为这些Layer申请内存,根据应用程序的请求管理这些 Layer显示、隐藏、重画等操作,最终由SurfaceFlinger把所有的Layer组合到一起,显示到显示器上。当一个应用程序需要在一个 Surface上进行画图操作时,首先要拿到这个Surface在内存中的起始地转载 2011-02-15 10:36:00 · 1047 阅读 · 0 评论 -
git trouble
<br />1. 当准备用git clone/pull/push等操作时,如果遇到下面的问题,应该是~/.bashrc中有echo,将其删除<br />fatal: protocol error: bad line length 43686<br />fatal: The remote end hung up unexpectedly原创 2011-02-17 17:08:00 · 901 阅读 · 0 评论 -
Mime类型整理(video,audio,image)
<br />Mime audio/video/image <br />.aif audio/aiff <br />.aif audio/x-aiff <br />.aifc audio/aiff <br />.aifc audio/x-aiff <br />.aiff audio/aiff <br />.aiff audio/x-aiff <br /><br />.asf application/vnd.ms-asf <br />.asf video/x-ms-asf <br />.asm text/x-a转载 2011-03-11 09:52:00 · 10552 阅读 · 1 评论 -
mime
<br />application/acad 扩展 .dwg <br />application/arj 扩展 .arj <br />application/base64 扩展 .mm <br />application/base64 扩展 .mme <br />application/binhex 扩展 .hqx <br />application/binhex4 扩展 .hqx <br />application/book 扩转载 2011-03-11 12:48:00 · 1424 阅读 · 0 评论 -
makefile 中的函数
<br />Makefile 中的常用函数<br /> <br />一、函数的调用语法 <br />函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: <br />$(<function> <arguments>) <br />或是 <br />${<function> <arguments>} <br />这里,<function>就是函数名,make支持的函数不多。<arguments>是函数的参数,参数间<br />以逗号“,”分隔,而函数名和参数之间以“空格”分隔。函数调用以“转载 2011-03-16 10:21:00 · 667 阅读 · 0 评论 -
[转载] android中的surface
在android中,对view及其子类,都是画在surface上的。每个window对应一个surface,各surface对象通过surfaceflinger合成到framebuffer,每个surface都是双缓冲,它有一个back buffer和一个front buffer。back buffer就是画画的地方,front buffer是用来合成的。surface创建Canvas对象(用来管理surface绘图操作),Canvas对应bitmap(存储surface内容)。当调用unlockC转载 2011-05-16 16:08:00 · 1662 阅读 · 1 评论 -
android am命令
am命令作用:管理Activityusage: am [start|broadcast|instrument|profile] am start -D INTENT am broadcast INTENT am instrument [-r] [-e ] [-p ]转载 2011-06-09 14:43:00 · 1961 阅读 · 0 评论 -
android 一些文件的位置和作用
system/core/devices.c 用于设置/dev/*中一些设备的权限原创 2011-06-15 09:14:00 · 539 阅读 · 0 评论 -
转: The System Server in Android
The System Server in Android In this post I will add some more detail on the system server in Android. The system server is the core of the Android system and as described in the boot sequence post转载 2011-06-29 17:14:00 · 807 阅读 · 0 评论 -
How to control which module is built
In /build/core/definitions.mk定义了一些函数控制编译范围:all-makefiles-underfirst-makefiles-underall-subdir-makefilesall-named-subdir-makefiles原创 2011-07-06 18:01:07 · 985 阅读 · 0 评论 -
转 Linux 线程模型的比较:LinuxThreads 和 NPTL
android中的线程模型使用的是NPTL 当 Linux 最初开发时,在内核中并不能真正支持线程。但是它的确可以通过 clone() 系统调用将进程作为可调度的实体。这个调用创建了调用进程(calling process)的一个拷贝,这个拷贝与调用进程共享相同的地转载 2011-09-01 09:36:17 · 638 阅读 · 0 评论 -
转: git patch
打patch:git-format-patch x..yx y 是哈希值,从x到y依次打patch如果只是生成一个commit的patch,可以用git-format-patch -1 commit如果想从历史头开始commit 用 git-format-patc转载 2011-08-03 14:49:05 · 5501 阅读 · 0 评论 -
SWFObject Flash Embedding Cage Match
看文章:Flash Embedding Cage Matchhttp://www.alistapart.com/articles/flashembedcagematch/ “How can you best embed Flash content?”It shou转载 2011-09-14 15:11:20 · 1641 阅读 · 0 评论 -
android+内存管理
不用在意剩余内存的大小.其实很多人都是把使用其他系统的习惯带过来来了.安卓Android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系.如果你知道java,就能更清楚这机制了.其实和java的垃圾回收机制类似,系统有一个规则来回收内存.进行内存调度有个阀值,转载 2011-10-13 10:34:51 · 849 阅读 · 0 评论 -
LOCAL_SDK_VERSION and HISTORICAL_SDK_VERSIONS_ROOT
如果package中定义了LOCAL_SDK_VERSION不是current,例如8,用的framework_res是不同的 定义了LOCAL_SDK_VERSION=8framework_res_package_export = prebuilt/sdk/8/an原创 2011-10-17 16:59:41 · 2559 阅读 · 0 评论 -
Zero Copy 简介
Zero Copy 简介Posted onJanuary 10, 2011 byadminlink: http://www.ibm.com/developerworks/library/j-zerocopy/许多web应用都会向用户提供大量的静态内容,这意味着有很多data从硬盘读出之后,会原封不动的通过socket传输给用户。这种操作看起来可能不会怎么消耗CPU,但是转载 2011-11-07 10:51:16 · 7952 阅读 · 0 评论 -
android Monkey
Monkey工具前言:最近开始研究Android自动化测试方法,对其中的一些工具、方法和框架做了一些简单的整理,其中包括android测试框架、CTS、Monkey、Monkeyrunner、benchmark、其它test tool等等。因接触时间很短,很多地方有不足之处,希望能和大家多多交流。 一、 什么是MonkeyMonkey是Android中的一个命令行工具,可以运转载 2011-12-02 13:43:46 · 1423 阅读 · 0 评论 -
给android设置代理
# sqlite3 /data/data/com.android.providers.settings/databases/settings.dbsqlite> insert into secure values(99,'http_proxy','access.c2micro.com:3128')sqlite> insert into system values(99,'http_prox原创 2011-12-19 14:49:36 · 1025 阅读 · 0 评论 -
获取android webkit 源码
git clone http://android.googlesource.com/platform/external/webkit.git转载 2011-12-28 16:41:46 · 2190 阅读 · 0 评论 -
perl: warning: Setting locale failed
perl: warning: Setting locale failed.perl: warning: Please check that your locale settings: LANGUAGE = "zh_CN:zh", LC_ALL = (unset), LC_MESSAGES = "zh_CN.UTF-8",原创 2012-01-11 16:47:55 · 8002 阅读 · 0 评论 -
编译Android 4.0时遇到的问题汇总
接下来,如果是32位系统的话,在终端中运行$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \ libx11-dev libreadline6-dev libg原创 2012-01-11 16:47:02 · 2536 阅读 · 0 评论 -
如何获取android root 启动权限
修改init.rcservice console /system/bin/sh class core console disabled #user shell user root group log原创 2012-01-12 17:46:40 · 776 阅读 · 0 评论 -
git remote 创建一个远程仓库,并做merge
git remote add -f -t branch_name -m branch_name remote_name remote_urlgit merge remote_name/branch_name原创 2012-01-17 16:02:08 · 995 阅读 · 0 评论 -
init.rc android初始化语言
本文是根据android源码中system/core/init/readme.txt文件翻译而来,英文好的朋友可以直接阅读该文件。初始化源码位于system/core/init中,而初始化启动脚本位于system/core/rootdir/init.rc。init脚本的关键字可以参考init进程中的system/core/init/keyword.h文件。如:KEYWORD(chroo转载 2012-02-02 10:57:02 · 609 阅读 · 0 评论 -
手动启动android应用
am start -a android.intent.action.VIEW -d www.google.com -n com.android.browser/.BrowserActivityps | grep android.browser | awk '{print "kill -9 "$1}' | ash sleep 1am start -a andro原创 2012-01-04 11:09:23 · 936 阅读 · 0 评论 -
android libcore/run-libcore-tests and vogar build
libcore的单元测试:libcore/run-libcore-testsvogar的安装得到源码 svn checkout http://vogar.googlecode.com/svn/trunk/ vogar-read-onlycp $(android_path)/out/target/common/obj/JAVA_LIBRARIES/android_stubs_curr原创 2012-02-08 17:16:08 · 2092 阅读 · 0 评论 -
android 4.0 bring up
影響是否能Bring-up的關鍵之一,就是kernel的設定。因為驅動程式的關係, 一般認為,使用Linux 3.0系列是比較好的做法。不過,2.6.3x或3.x的版本,都能支援Android 4.0。在這次的課程裡,筆者使用了三個平臺。第一個是MagicLEGO計畫所開發的MagicLEGO開發板,MagicLEGO使用三星的Exynos 4210雙核心處理器。第二個是長高科技開發的DMA-21转载 2012-02-10 14:17:37 · 1246 阅读 · 0 评论