感谢支持
我们一直在努力

Linux环境下Android常用工具和技巧

总结了下Linux环境下Android常用工具和技巧。一方面巩固复习之前的知识,另一方面共享出来,这里工具和技巧可能会对大家有用。

一.终端
1.新建终端 ctrl-alt-t
2.创建新终端窗口 ctrl-shift-t

二.安装/更新软件
$sudo apt-cache search xxx 搜索包含xxx的软件

$sudo apt-get update 更新源

$sudo apt-get upgrade 升级软件

$sudo apt-get install(remove/autoremove) xxx 安装(卸载/自动卸载) xxx软件

$sudo rm /var/lib/apt/lists/lock 释放apt-get锁

三.编译
1.编译源码
$cd source code path
$. source code path/build/envsetup.h
$make

2.编译工程
$cd source code path
$. source code path/build/envsetup.h
$cd project path
$mm

3.64位系统 Android内核编绎错误解决方案
http://blog.csdn.net/zyc13701469860/archive/2011/02/25/6207522.aspx

四.ADB
1.adb命令
adb push <local> <remote> – copy file/dir to device

adb pull <remote> [<local>] – copy file/dir from device

adb shell – run remote shell interactively

adb shell <command> – run remote shell command

adb emu <command> – run emulator console command

adb logcat [ <filter-spec> ] – View device log

adb install [-l] [-r] [-s] <file> – push this package file to the device and install it

(‘-l’ means forward-lock the app)

(‘-r’ means reinstall the app, keeping its data)

(‘-s’ means install on SD card instead of internal storage)

adb uninstall [-k] <package> – remove this app package from the device

(‘-k’ means keep the data and cache directories)

adb start-server – ensure that there is a server running

adb kill-server – kill the server if it is running

adb devices -restart device

2.如果device断开可用以下方法重启
sudo adb kill-server
sudo adb devices 

3.终端启动模拟器
$sudo cp android SDK path/tools/emulator /usr/bin/
$emulator -avd avdname [参数1|参数2|…]
$android-sdk-linux_x86/tools/emulator -avd avd4.0 -partition-size 1024 -sdcard mysdcard.iso”

4.在adb push时,发生以下情况
1.out of memory –内存不足,终端启动模拟器加上 -partition-size xxx参数,xxx为内存大小(MB)
2.read-only –模拟器文件夹只读,使用 $sudo adb remount
3.not found device 同device断开重启方法

5.在终端显示模拟器/真机的log
$adb logcat –一般显示
$adb logcat -v time –输出时间
$adb logcat -v time|grep “xxx” –输出时间和含有字串xxx的log

6.64位系统启动android 3.0模拟器
需要安装$sudo apt-get ia32-libs

五.xp虚拟机无法启动解决方法

$sudo invoke-rcid virtualbox-ose stop
$sudo invoke-rcid virtualbox-ose start

六.VIM + TAGLIST + CSCOPE
1.vimrc

[plain]


  1. “忽略大小写”  

  2. set ignorecase  

  3.   

  4.   

  5. “去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限”  

  6. set nocompatible   

  7.   

  8.   

  9. “use mouse everywhere ”  

  10. set mouse=ni   

  11.   

  12.   

  13. “显示行号 ”  

  14. set nu  

  15.   

  16.   

  17. “检测文件的类型 ”  

  18. filetype on   

  19.   

  20.   

  21. “为特定文件类型载入相关缩进文件  

  22. filetype indent on  

  23.   

  24.   

  25. “记录历史的行数 ”  

  26. set history=1000   

  27.   

  28.   

  29. “背景使用黑色 ”  

  30. set background=dark   

  31.   

  32.   

  33. “语法高亮度显示 ”  

  34. syntax on   

  35.   

  36.   

  37. “打开自动缩进”  

  38. set cindent   

  39.   

  40.   

  41. “下面两行在进行编写代码时,在格式对起上很有用; ”  

  42. “第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行; ”  

  43. “第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编 ”  

  44. “写上很有用 ”  

  45. set autoindent   

  46. set smartindent   

  47.   

  48.   

  49. “支持C/C++的缩进 ”  

  50. set cin   

  51.   

  52.   

  53. “方便使用taglist ”  

  54. nmap <F2> : Tlist <CR>   

  55.   

  56.   

  57. let Tlist_Show_One_File=1  

  58. let Tlist_Exit_OnlyWindow=1  

  59. let Tlist_Use_Right_Window=1   

  60.   

  61.   

  62.   

  63.   

  64. “第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格 ”  

  65. set tabstop=4  

  66. set shiftwidth=4   

  67.   

  68.   

  69. “设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号 ”  

  70. set showmatch   

  71.   

  72.   

  73. “去除vim的GUI版本中的toolbar ”  

  74. set guioptions-=T   

  75.   

  76.   

  77. “当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声 ”  

  78. set vb t_vb=   

  79.   

  80.   

  81. “在编辑过程中,在右下角显示光标位置的状态行 ”  

  82. set ruler   

  83.   

  84.   

  85. “寻找匹配是高亮度显示的 ”  

  86. set hls   

  87.   

  88.   

  89. “设置高亮搜索  

  90. set hlsearch  

  91.   

  92.   

  93. “查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一 ”  

  94. “个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依 ”  

  95. “次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词 ”  

  96. “时,别忘记回车 ”  

  97. set incsearch   

  98.   

  99.   

  100. “修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀”  

  101. set backup  

  102.   

  103.   

  104. ” 保持上一次退出的位置  

  105. autocmd BufReadPost *  

  106.     \ if line(“‘\””) > 0 && line(“‘\””) <= line(“{1}quot;) |  

  107.     \   exe “normal g`\”” |  

  108.     \ endif  

  109.   

  110.   

  111. “按C语言格式缩进  

  112. set cindent  

  113.   

  114.   

  115. “继承前一行的缩进方式,特别适用于多行注释  

  116. set autoindent  

  117.   

  118.   

  119. “显示括号匹配  

  120. set showmatch  

  121.   

  122.   

  123. “括号匹配显示时间为1(单位是十分之一秒)  

  124. set matchtime=1  

  125.   

  126.   

  127. “增强模式中的命令行自动完成操作  

  128. set wildmenu  

  129.   

  130.   

  131. “不要生成swap文件,当buffer被丢弃的时候隐藏它  

  132. setlocal noswapfile  

  133. set bufhidden=hide  

  134.   

  135.   

  136. “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””  

  137. ” cscope setting  

  138. “””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””  

  139. if has(“cscope”)  

  140.   set csprg=/usr/bin/cscope  

  141.   set csto=1  

  142.   set cst  

  143.   set nocsverb  

  144.   ” add any database in current directory  

  145.   if filereadable(“cscope.out”)  

  146.       cs add cscope.out  

  147.   endif  

  148.   set csverb  

  149. endif  

  150.   

  151.   

  152. nmap <C-@>s :cs find s <C-R>=expand(“<cword>”)<CR><CR>  

  153. nmap <C-@>g :cs find g <C-R>=expand(“<cword>”)<CR><CR>  

  154. nmap <C-@>c :cs find c <C-R>=expand(“<cword>”)<CR><CR>  

  155. nmap <C-@>t :cs find t <C-R>=expand(“<cword>”)<CR><CR>  

  156. nmap <C-@>e :cs find e <C-R>=expand(“<cword>”)<CR><CR>  

  157. nmap <C-@>f :cs find f <C-R>=expand(“<cfile>”)<CR><CR>  

  158. nmap <C-@>i :cs find i ^<C-R>=expand(“<cfile>”)<CR>{1}lt;CR>  

  159. nmap <C-@>d :cs find d <C-R>=expand(“<cword>”)<CR><CR>  
2.建立cscope使用的索引文件
在你需要浏览源码的根目录下(如你想用cscope看linux源码)使用下面命令:
#: cscope -Rbkq<回车>
R 表示把所有子目录里的文件也建立索引
b 表示cscope不启动自带的用户界面���而仅仅建立符号数据库
q生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
k在生成索引文件时,不搜索/usr/include目录

七.Eclipse(linux)
1.设置智能匹配
perferences -> java -> editer -> content attist -> auto activation triggers for java
可设置任意多个八.linux命令
1.使用back n 代替 cd ../../../
1.1编写goback.sh
#!/bin/bash  
if [ $# != 1 ]
then
  echo “a go back dir number required.”
  exit 1
fi
newdir=`echo “../” | awk -v num=$1 ‘{for(i=1;i<=num;i++) printf($0)}’`
cd $newdir

1.2新建一个脚本
myutil.sh
alias back=”source ~/goback.sh”

1.3在终端输入 $. myutil.sh
然后使用back n就可以返回n层目录

九.Android
1.sqlite3查看数据库
1.1列出所有表
.table
1.2查看表结构
select * from sqlite_master where type=”table”;
1.3显示标题
.head on
1.4android多媒体数据库位置
/data/data/com.android.providers.media/databases/external.db
需要root权限

2.使用系统权限(适用与用反射调用系统类)
将代码放到源码中编译
2.1在androidmanifast中添加android:sharedUserId=”android.uid.system”
2.2编写makefile文件
拿其他app的makefile文件改下就行
2.3mm编译

十.java正则表达式 
验证数字的正则表达式集 
验证数字:^[0-9]*$
验证n位的数字:^\d{n}$
验证至少n位数字:^\d{n,}$
验证m-n位的数字:^\d{m,n}$
验证零和非零开头的数字:^(0|[1-9][0-9]*)$
验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
验证非零的正整数:^\+?[1-9][0-9]*$
验证非零的负整数:^\-[1-9][0-9]*$
验证非负整数(正整数 + 0)  ^\d+$
验证非正整数(负整数 + 0)  ^((-\d+)|(0+))$
验证长度为3的字符:^.{3}$
验证由26个英文字母组成的字符串:^[A-Za-z]+$
验证由26个大写英文字母组成的字符串:^[A-Z]+$
验证由26个小写英文字母组成的字符串:^[a-z]+$
验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
验证由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。
验证是否含有 ^%&’,;=?$\” 等字符:[^%&’,;=?$\x22]+
验证汉字:^[\一-\龥],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:–正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
验证身份证号(15位或18位数字):^\d{15}|\d{}18$
验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12”
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$    正确格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数   ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数  ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数  ^(-?\d+)(\.\d+)?

十一.Ubuntu android使用mtp连接
1.下载安装mtpfs
2.sudo mtpfs -o allow_other /media/mtp

赞(0) 打赏
转载请注明出处:服务器评测 » Linux环境下Android常用工具和技巧
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏