`
文章列表

AIDL 进程间通信

AIDL AIDL是一种接口语言。目的是为了进程间通信。server端和client端都需要统一的接口,client端才能通过这些接口访问server端,已达到进程间通信的目的。 实现主要步骤为: 1 在server端编写.aidl文件。aidl文件中定义一个接口,和接口下要实现的方法。 方法的参数和返回值可以是任意类型。只要这些类型要实现Parcelable。  2 在eclipse中保存后会自动生成同名的java接口。此java类下面有个静态内部类Stub。 抽象类Stub继承了BInder,且要实现aidl定义的接口。 3 在server端编写一个Service。这个是s ...
Handler 1 handler主要处理两种对象。 一是Message对象,一是Runable对象。 实际上Runable对象也会获得一个Message对象。   2 每个handler对象同当前所在的线程和消息队列绑定。 handler对象从消息队列中获得Message,后者向消息队列中发送Message。   3 handler主要有两类方法。 一类是post开头的,主要向消息队列中传递Runable对象。 一类是sendMessage,主要向消息队列传递Message对象。   4 handler线程间通信。 主线程创建一个handler对象。那么主线程的消 ...
BBB板子自带一个linux系统,Angstrom,桌面环境是gnome。以下的设置都是在此基础上进行的。 BBB除了板子,只有一个usb线。通过这根usb线,PC可以远程登录到板子上。 下面是两种方式ssh和vnc。   准备工作  1 将micro usb端口插入到BBB板子中,另一端连接PC。 2 下载linux驱动。http://beagleboard.org/static/Drivers/Linux/FTDI/mkudevrule.sh。在PC上执行。 3 通过chrome或firefox测试下网络是否联通http://192.168.7.2。   ssh远程登录 ...
  Google Android Open Source Project Android平台开发主页。 包括下载并设置开发AOSP。 Google Android Developer Android程序开发主页。 Google Android Tools Project Site 此网页包括各种开发工具。 包括SDK,NDK等。 SoC Vendors TI Andr ...
Linux的核心(kernel) 1 Linux就是指kernel 2 kernel负责整个硬件的驱动,和提供各种核心功能 3 kernel是一个文件,一般放置在/boot/vmlinuz-$(uname -r)    此文件包含各项硬件侦测程序和驱动模块 4 核心模块(kernel module),有些功能没有集成在核心中,编译成模块以便核心随时加载    放置路径/lib/modules/$(uname -r)/kernel/ 5 核心的版本,主版本.次版本.发布版本-修改版本 6 最新稳定版核心源代码下载地址,http://www.kernel.org/ 7 建议将核 ...
源代码包编译安装步骤 1 下载软件源代码包,解压并移动到/usr/local/src/路径下 2 进入源代码路径,查阅INSTALL或README文件 3 根据INSTALL或README的内容查看并安装好一些相依性软件 4 configure/config文件,执行侦测系统环境,并自动生成Makefile文件 5 Makefile/makefile文件,记录了源代码如何编译的详细信息 6 gcc编译器,编译环境 7 make命令,依据Makefile文件的定义进行编译或安装   Makefile基本语法 1 target与目标文件之间需要":"分隔, ...
模块 一个模块提供一个功能。 核心(kernel) 具有模块化的功能。 模块是可以随时加载和移除的。   模块相关命令 depmod 生成modules.dep文件,解决模块间相依性 lsmod 显示核心包含的模块 modinfo 显示指定核心模块具体信息 insmod 加载模块到核心中 rmmod 从核心中移除模块  modprobe 加载或移除核心模块,解决模块间相依性    相关文件 /lib/modules/$(uname -r)/kernel/* 核心模块 /usr/src/linux 核心源代码 ...
系统启动流程 以debian6为例 1 加载BIOS的硬件信息与进行自我测试,并取得启动设备(如硬盘、光盘、闪存) 2 读取并执行启动设备内MBR的boot loader(如grub等) 3 依据boot loader的设定加载kernel,kernel开始侦测硬件并加在驱动程序 4 硬 ...

Linux的日志,log

常见系统log文件 /var/auth.log 记录身份认证的信息 /var/log/dmesg 记录系统侦测核心时得到的各项信息 /var/log/lastlog 记录系统所有账户最近一次登录系统的信息 lastlog(8)使用此文件 /var/log/messages 记录系统所有重要信息 ...
daemon与service service是长期驻留在内存中的程序。 启动某项服务(service)的程序就是daemon。一般此类程序以d为结尾。   daemon启动方式 启动daemon通常需要执行相应的shell script /etc/init.d/* 启动script放置处 /etc/* 各服务各自的配置文件 /var/lib/* 各服务产生的数据库 /var/run/* 各服务的进程的PID   相关命令 netstat 找到目前系统开启的网络服务 service --status-all 显示所有服务的状态 ...
进程间的常用信号 1 SIGHUP 如果进程终止则挂断该进程 2 SIGINT 从键盘ctrl-c中断进程 9 SIGKILL 强制终止进程 15 SIGTERM 正常终止进程 17 SIGSTOP 从键盘ctrl-z暂停进程 详细见man 7 signal   进程管理相关命令 ps 显示 ...
用户账户相关命令 useradd 添加新的用户账户 usermod 设置用户账户信息 userdel 删除用户账户 passwd 改变用户帐户密码 chage 改变用户账户密码的使用期限 finger 显示用户账户信息 chfn 改变用户账户真实信息 chsh 改变用户帐户登录的shell id 显示用户账户的UID和GID groups 显示用户所属的所有群组名 newgrp 改变用户当前的有效群组 su 切换用户账户 w或who 查看当前已登录的账户信息 last 查看最近登录 ...
apt-get主要语法 apt-get [option] [action] [pkg]   action install    从源中安装软件包 remove    删除软件包,保留配置文件 purge    完全删除软件包 update    从源中同步软件包的索引文件 upgrade    对现有的软件包进行更新 source    下载软件包源代码 clean    清除本地软件包 autoclean     清除不会再下载的和比较大的软件包 autoremove    自动卸载那些不相关的软件包   用例 1 在线安装vim # apt-get ins ...
特点 1 纯文本文件 2 包含shell的语法和命令(内部和外部命令) 3 支持正则表达式,管线命令,数据重导向等功能 4 支持数组、循环、条件与逻辑判断 5 不需编译即可执行,且有debug工具 6 script速度较慢,占用资源较多   基 ...

Linux的正则表达式

正则表达式 以行,为单位进行字符处理行为。对字符串进行搜索,删除,替代等操作。 正则表达式与bash环境下的通配符是不同的概念。   对编码无关的正则表达式符号 [:alnum:] 代表英文大小写字符及数字,亦即0-9,A-Z,a-z [:alpha:] 代表任何英文大小写字符,亦即A-Z,a-z [:digit:] 代表数字,亦即0-9 [:lower:] 代表小写字符,亦即a-z [:upper:] 代表大写字符,亦即A-Z [:xdigit:] 代表16进制数字,亦即0-9,A-F,a-f [:blank:] 代表空格和t ...
Global site tag (gtag.js) - Google Analytics