- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 vim 空格
行末:$ 行首:^空格:\s行末空格:\s\+$行首空格:^\s\+删除行尾多个空格 : %s/\s\+$//g删除行首多个空格 : %s/^ \+//g:retab 替换tab
2013-12-04 10:59:49
916
原创 艺术
http://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Agnolo_Bronzino_-_A_Young_Woman_and_Her_Little_Boy_-_Google_Art_Project.jpg/512px-Agnolo_Bronzino_-_A_Young_Woman_and_Her_Little_Boy_-_Google_A
2013-05-14 19:30:59
2568
原创 艺术画
http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Edouard_Manet_027.jpg/376px-Edouard_Manet_027.jpg,http://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Carl_Blechen_-_Das_Innere_des_Palmen
2013-05-11 17:39:38
3456
原创 通过USB调试android手机程序
1.lsusb,查看手机参数ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="1350"2.修改调试用的配置文件:sudo vim /etc/udev/rules.d/70-persistent-net.rules添加如下:SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}
2013-04-25 13:54:36
788
转载 apk反编译(仅供学习)
相信大家在安装使用了一个apk后,看到一些好的效果或实现,一般会很想知道这个是如何实现的。还好,android选的是java开发语言,所以经过一些小步骤,而作者又没有用混淆的话,差不多可以返原70 ~ 90 的java实现,下面我就来说下Android apk 的反编译步骤: 1.解压缩apk包: apk文件说到底就是一种最常见的zip,你用UE或Notepad
2013-02-28 11:51:46
592
原创 repo 未强地址
curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo
2013-01-30 10:01:52
424
原创 android之ip设置
修改:./system/etc/service/post-init.sh#ip ifconfig eth0 172.16.133.10 netmask 172.16.133.128 up route add default gw 172.16.
2013-01-22 11:39:49
490
原创 android IPC 之Binder通信
Binder通信机制说来简单,但是在使用的过程的遇到了一些问题,最后终于解决了,在这总结一下,一并分享给大家:1、要使用Binder通信,首先要定义接口,然后实现服务端BnInterface***和客户端BpInterface***,说到底一个是把参数解包,一个是把参数打包。2、服务端要能够接收Binder调用请求,要具备两个条件:一个是实现Bn接口,另一个是调用IPCProcess()-
2012-11-27 13:55:00
535
转载 vim 替换
语法为 :[addr]s/源字符串/目的字符串/[option]全局替换命令为::%s/源字符串/目的字符串/g[addr] 表示检索范围,省略时表示当前行。如:“1,20” :表示从第1行到20行;“%” :表示整个文件,同“1,$”;“. ,$” :从当前行到文件尾;s : 表示替换操作[option] : 表示操作类型如:g 表示全局替换; c 表示进
2012-11-09 12:44:39
357
原创 patch笔记
1、原文件夹 source 新文件夹newsource2、执行diff -u -r source newsource >source.patch 结果,即new相对source更新的3、应用补丁 patch source。patch source
2012-10-30 12:35:43
432
原创 Framework/base 下添加自定义模块的步骤
<!--@page {margin:0.79in}p {margin-bottom:0.08in; direction:ltr; color:#000000; widows:0; orphans:0}p.western {font-family:"Liberation Serif","Times New Roman",serif; font-size:1
2012-10-26 10:04:55
1510
原创 vim + make+cope
在vim编辑文件后,直接通过:make编译,则方便许多,发现问题,进入问题导航,如果修改了一个问题后,还有别的问题没有改,可以通过:cope,察看全部问题,从而进入修改改完后,:w,:make,这比起退出vim,执行make方便多了
2012-10-08 16:10:29
1305
原创 makefile编写
简单Makefileobj-m += fishing.oKDIR :=/usr/src/linux-headers-3.2.0-29-generic/PWD :=$(shell pwd)CP :=cpdefault: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modulesclean: $(MAKE) -C
2012-09-15 17:30:11
477
原创 gcc/g++安装配置
Install Gcc 4.1sudo apt-get install gcc-4.1Set gcc 4.1 as default versionAfter that, use this command to list installed gcc in your Ubuntu:ls /usr/bin/gcc*and use this command to check which
2012-09-15 16:27:54
987
原创 cscope+vim使用笔记
1、安装 sudo apt-get install cscope sudo apt-get install vim2、在源代码目录下: make cscope /////////////// 对于普通的源码,可能不能执行make cscope,则可以通过cscope -b来建立标号库 生成索引cscope.out3、vim 打开文件:cs add cs
2012-09-14 09:24:36
720
原创 linux可以借鉴的设计思想(笔记)
<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; widows:0; orphans:0}p.western {font-family:"Times New Roman",serif; font-size:12pt}p.cjk {font-fa
2012-09-14 08:21:40
2267
1
原创 linux驱动开发笔记2
<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; widows:0; orphans:0}p.western {font-family:"Times New Roman",serif; font-size:12pt}p.cjk {font-fa
2012-08-16 10:27:08
844
原创 linux驱动学习笔记1
1、概述1.1、机制与策略分离思想 机制和策略是Unix设计背后的一个最好观念。大部分编程问题其实可以划分为2部分:提供什么能力(机制)和如何使用这些能力(策略)。如果这两个方面由程序的不同部分来表达、或者由不同程序来共同表达,软件包是非常容易开发和适应特殊的需求的。 在驱动相关的地方,机制和策略的理论同样适用。在编写驱动时,程序员应当特别注重这个基础概念:编写内核代码来存取硬件,但是,不能强加特
2012-08-16 10:22:48
657
原创 svn clean **出错解决办法
在使用svn下载源码时候,由于网络或者我们强行ctrl+z中断等,造成svn update 锁定,需要svn clean,而svn clean 又提示没有加入版本控制,解决办法是进入对应目录下的.svn文件夹(隐藏),删除log文件,再次svn clean,svn update
2012-08-09 17:46:36
1237
转载 svn命令
SVN 的基本指令介紹, 主要參考自下述:SubTrain - Open Source Trainings for Subversion: 教導如何使用 SVNVersion Control with SubversionVersion Control with Subversion(中文版電子書)Version Control with Subversion PDF - 作者: 邱茂
2012-08-08 17:24:17
491
原创 java 服务生成访问方法
1、通过aidl定义服务接口IService2、通过aidl定义监听接口IListener3、ISerice接口中增加接口添加监听4、Service中实现ISerice接口5、ServiceManager中获取ISerice接口,对ISerice包装调用。6、ServiceManager中内嵌IListener实现,添加到ISerice,实现对IListener监听,内嵌ILi
2012-08-02 14:07:17
492
原创 grep 和find 结合
用grep命令在所有的普通文件中搜索hostname这个词: # find . -type f -print | xargs grep "hostname"./httpd1.conf:# different IP addresses or hostnames and have them handled by the./httpd1.conf:# VirtualHost: I
2012-07-25 17:20:56
1832
原创 SystemServer的启动过程
很多的的系统服务,如GPS,电源管理等都挂在SystemServer下,因此要完全清楚,每个服务的全部运行过程,有必要了解SystemServer的启动过程1、在Framework/base/services下有两个主要文件夹,jni,java,jni下编译成动态库libandroid_servers,java下编译成services;2、services内部有个主类SystemServe
2012-07-25 12:50:30
507
原创 通过JNI,C++ 回调java程序
我们知道通过注册jni方法的方式,实现java调用c++,同理,在java调用C++的封装类中,定义接口函数,并在初始化(static 部分)调用一个C++ native函数在c++的native函数中,根据 JNIEnv* env, jobject obj(就是那个java类对象)获取接口函数指针,全部获取并保存,这样,在需要调用java方法时,通过env调用即可;以下为gps的例子
2012-07-24 21:23:24
1529
原创 C++/C程序跟java结合时要注意的事项
今天,用C写了个lib库,通过jni封装,然后java封装,在java里进行调用,结果无论如何结果不对,最后,考虑是否两者字长不一样(以前在C/C++,long 都是4个字节),查了下资料,果然,java定义long为8字节,真是崩溃,还是仔细比较下二者细微的区别吧。
2012-07-23 20:52:25
615
原创 Framework/base下添加自定义模块的编译
<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; widows:0; orphans:0}p.western {font-family:"Liberation Serif","Times New Roman",serif; font-size:12pt
2012-07-21 16:04:27
2089
1
原创 Binder应用
关于Binder原理这里不做介绍了,可以参看Android技术内幕,但是关于Binder应用讲解的很详细的不多,因我在做一个移植的项目,与media类似,故研究了一下media,特别对其中的如何实现客户端、服务端才能通过Binder通信进行学习,总结如下:1、基于接口编程,这是编程的趋势,好处实在太多2、使得接口支持Binder,需要2步:2.1定义接口,继承IInterface,并添
2012-07-21 10:59:51
954
转载 Android的初始化流程
<!--@page {margin:2cm}p {margin-bottom:0.21cm}--><!--@page {margin:2cm}p {margin-bottom:0.21cm}-->android系统在启动时首先会启动Linux基础系统,然后引导加载LinuxKernel并启动初始化进程。即:linuxkernel
2012-07-21 10:46:01
836
转载 如何在Linux中查看所有正在运行的进程
在linux中怎样查看所有运行中的进程?你可以使用ps命令。它能显示当前运行中进程的相关信息,包括进程的PID。Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。ps命令能提供一份当前进程的快照。如果你想状态可以自动刷新,可以使用top命令。 ps命令输入下面的ps命令,显示所有运行中的进程:# ps aux | less 其中,-A:显示所有进程
2012-07-20 20:35:00
1030
翻译 GoogleTV 设计模式
<!--@page {margin:2cm}h4 {margin-top:0.49cm; margin-bottom:0.51cm; direction:ltr; color:#000000; line-height:156%; text-align:justify; page-break-inside:avoid; widows:0; orphan
2012-07-08 20:03:59
4128
翻译 GoogleTV用户接口开发
<!--@page {margin:2cm}h3 {margin-top:0.46cm; margin-bottom:0.46cm; direction:ltr; color:#000000; line-height:173%; text-align:justify; page-break-inside:avoid; widows:0; orphan
2012-07-08 20:02:46
2707
原创 Linux &android 驱动开发浅析
<!--@page {margin:2cm}p {margin-bottom:0.21cm; direction:ltr; color:#000000; widows:0; orphans:0}p.western {font-family:"Liberation Serif","Times New Roman",serif; font-size:12pt
2012-07-06 11:07:42
1024
原创 Android4.03 运行
当编译完Android4.03时候,有两种运行方法:1、是传统的运行方法,~/workspace/off-4.0/out/target/product/generic$ emulator -kernel ~/workspace/off-4.0/prebuilts/qemu-kernel/arm/kernel-qemu-armv7 -sysdir ~/workspace/off-4.0/o
2012-07-06 08:22:30
511
原创 C中的Static
static对于函数只有一个功能:就是隐藏,对于其他的c文件将无法再看见这个函数;对于变量,除了隐藏,还有两个功能:在静态区域分配,数据从程序启动就初始化为0,直到结束,
2012-07-02 17:28:46
313
原创 android 编译
<!--@page {margin:2cm}h2 {margin-bottom:0.21cm; direction:ltr; color:#000000; widows:0; orphans:0}h2.western {font-family:"Liberation Serif","Times New Roman",serif}h2.cjk {fon
2012-06-26 17:27:58
1053
原创 putty usb转串口调试
1、sudo apt-get install putty2、sudo putty 设置速率115200 ,flowcontrol is none串口 ttyUSB0, 链接,ok,记住:一定要用sudo 进入,否则 can not open port
2012-06-26 17:11:29
7949
转载 程序员发展应该尽早明白13个道理(原地址http://blog.sina.com.cn/s/blog_a752817501014lu7.html)
1、一定要确定自己的发展方向,并为此目的制定可行的计划。不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先在行业里面混混,过几年转行做点别的?这很重要,它将决定你近几年、十年内“做什么事情才是在做正确的事情
2012-06-26 09:30:00
1743
转载 Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法
Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法经常在ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪。其实原因很简单,是因为他没有32位的运行库 ia32-libs 会出这种八杆子打不着的奇怪提示。直接安装即可。apt-get install ia32-libs
2012-06-26 09:28:01
71488
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人