Android开发
文章平均质量分 86
OS技术解密
阿里巴巴
展开
-
安卓模拟器中运行C程序
先说几句乱起八糟的,上周来到公司实习,开始搞从来没有接触原创 2014-07-01 09:37:42 · 2118 阅读 · 0 评论 -
Bash shell位置参数
$# 是传给脚本的参数个数$@ 是传给脚本的所有参数的列表$0 是脚本本身的名字$1是传递给该shell脚本的第一个参数$2是传递给该shell脚本的第二个参数在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:位置参数:详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英转载 2015-08-15 15:45:35 · 698 阅读 · 0 评论 -
Java反编译工具(以反编译android的framework.jar举例)
framework.jar包含android框架层的代码,如果我们在framework层添加了代码,如何确定我们的代码是否真的被编译进入framework.jar当中呢?很简单,反编译就好了,下面将介绍2款反编译工具,有一点需要注意,它们都要求JDK版本至少为1.7. 1.classes.dex->.class framework.jar中含有classes.dex格式的文件,需要使用翻译工具将原创 2015-08-18 10:46:37 · 3567 阅读 · 0 评论 -
开发Android硬件访问服务
在http://blog.csdn.net/getnextwindow/article/details/47731597中,为Android系统添加了HAL模块,开发好一个硬件抽象层以后,我们通常还需要在应用程序框架中实现一个硬件访问服务。硬件访问服务通过硬件抽象层(HAL)模块来为应用程序提供读写操作。由于硬件抽象层使用c++开发,而应用程序框架中的硬件访问服务是Java语言开发的,因此,硬件访问原创 2015-08-18 12:55:11 · 2322 阅读 · 0 评论 -
为Android添加HAL模块
1.每个硬件抽象层模块在内核中都对应一个驱动程序,硬件抽象层模块就时通过这些驱动程序来访问硬件设备的,它们是通过读写设备文件来进行通信的。硬件抽象层中的模块接口源文件一般保存在hardware/libhardware目录中,为了方便起见,我们将虚拟硬件设备freg在硬件抽象层中的模块名称定义为freg,目录结构如下: hardware/libhardware/include/hardwar原创 2015-08-17 20:37:57 · 4172 阅读 · 0 评论 -
source /build/envsetup.sh和lunch)
提醒:想要研究安卓编译系统,必须对bash shell和GUN make非常熟悉,不然会看的云里雾里,没有这个背景的可以先补充知识。1.source ./build/envsetup.sh 主要是加载device/vendor目录下面的vendorsetup.sh文件2.lunch (本图来自罗升阳博客,已经比较老了,现在的安卓源码将board_config_mk放在了envsetup.mk原创 2015-09-01 17:18:24 · 3997 阅读 · 0 评论 -
define #使用
#include<stdio.h>#include<stdlib.h>#define REG_JNI(name) { name, #name } struct myType { void(*mProc)(); const char* mName;};void print(){ printf("hello,world\n");}const myT原创 2015-09-19 19:26:41 · 787 阅读 · 0 评论 -
Makefile容易犯错的语法
1.引言 最近学习android的Build系统,接触最多的自然就是Makefile语法,发现很多容易出错的地方,不避开这些错误语法没法真正了解Makefile的内涵,下面就介绍遇到的一些让人困惑的语法错误2.列举容易犯错的地方ifeq条件判断ifeq($(fro),no)endif多么简单的语法,但是执行会报错如下:Makefile:2: *** missing separator.原创 2015-08-24 17:31:14 · 3394 阅读 · 0 评论