linux環境下android常用工具和技巧

來源:互聯網
上載者:User

工作1年多了,我總結了下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

"忽略大小寫"set ignorecase"去掉討厭的有關vi一致性模式,避免以前版本的一些bug和局限"set nocompatible "use mouse everywhere "set mouse=ni "顯示行號 "set nu"檢測檔案的類型 "filetype on "為特定檔案類型載入相關縮排檔案filetype indent on"記錄曆史的行數 "set history=1000 "背景使用黑色 "set background=dark "文法高亮度顯示 "syntax on "開啟自動縮排"set cindent "下面兩行在進行編寫代碼時,在格式對起上很有用; ""第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行; ""第二行,依據上面的對起格式,智能的選擇對起方式,對於類似C語言編 ""寫上很有用 "set autoindent set smartindent "支援C/C++的縮排 "set cin "方便使用taglist "nmap <F2> : Tlist <CR> let Tlist_Show_One_File=1let Tlist_Exit_OnlyWindow=1let Tlist_Use_Right_Window=1 "第一行設定tab鍵為4個空格,第二行設定當行之間交錯時使用4個空格 "set tabstop=4set shiftwidth=4 "設定匹配模式,類似當輸入一個左括弧時會匹配相應的那個右括弧 "set showmatch "去除vim的GUI版本中的toolbar "set guioptions-=T "當vim進行編輯時,如果命令錯誤,會發出一個響聲,該設定去掉響聲 "set vb t_vb= "在編輯過程中,在右下角顯示光線標位置的狀態行 "set ruler "尋找匹配是高亮度顯示的 "set hls "設定高亮搜尋set hlsearch"查詢時非常方便,如要尋找book單詞,當輸入到/b時,會自動找到第一 ""個b開頭的單詞,當輸入到/bo時,會自動找到第一個bo開頭的單詞,依 ""次類推,進行尋找時,使用此設定會快速找到答案,當你找要匹配的單詞 ""時,別忘記斷行符號 "set incsearch "修改一個檔案後,自動進行備份,備份的檔案名稱為原檔案名稱加“~“尾碼"set backup" 保持上一次退出的位置autocmd BufReadPost *\ if line("'\"") > 0 && line("'\"") <= line("{1}quot;) |\   exe "normal g`\"" |\ endif"按C語言格式縮排set cindent"繼承前一行的縮排方式,特別適用於多行注釋set autoindent"顯示括弧匹配set showmatch"括弧匹配時間顯示為1(單位是十分之一秒)set matchtime=1"增強模式中的命令列自動完成操作set wildmenu"不要產生swap檔案,當buffer被丟棄的時候隱藏它setlocal noswapfileset bufhidden=hide"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" cscope setting"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""if has("cscope")  set csprg=/usr/bin/cscope  set csto=1  set cst  set nocsverb  " add any database in current directory  if filereadable("cscope.out")      cs add cscope.out  endif  set csverbendifnmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>{1}lt;CR>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編譯

十.javaRegex 
驗證數位Regex集 
驗證數字:^[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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.