Ubuntu & Android 技巧
過濾空行
grep "^\s*[^# \t].*$" filename
#C++模式註釋的刪除。
#Delete the line begins with //
#首先刪除//在行首的行
sed -i '/^[ \t]*\/\//d' $file
#Delete the line ends with //
#注意已經除去了 //在行首的情況,下面匹配除去URL的//部分,因為程式碼中有一部分中有
#URL,形如fun("ftp://")
sed -i 's/\/\/[^"]*//' $file
#刪除以C語言中註釋只在一行的行
sed -i 's/\/\*.*\*\///' $file
#Delete the lines between /* and */
#刪除C語言中註釋跨行的情況
sed -i '/^[ \t]*\/\*/,/.*\*\//d' $file
#ifndef __ARM_NEON__
#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
#endif
檢視so檔案的函式列表
find -name "*.so" | xargs -t -I {} nm -D {}
find -name "*.so" | xargs -t -I {} objdump -tT {}
檢視 so 的依賴庫
find -name "*.so" | xargs -t -I {} objdump -x {} | grep NEEDED
Native 層啟動 APK
system("am start -n com.liuyin.MediaPlayer/.MainActivity -d http://xxx.com/xxx.ts");
wget 下載重定向檔案,儲存為 Save.data
wget -d -O Save.data "http://www.redirect.com/" #wget 可以重定向,只需要加引號即可
http://pan.baidu.com/share/home?uk=xxxxxx,我懂的,
for((i=1;i<=10;i++)); do echo $(expr $i); done;
只找當前目錄(除 .)
find -maxdepth 1 ! -name '.' -type d
列出當前目錄下子目錄名
for i in $(find -maxdepth 1 ! -name '.' -type d); do basename $i; done;
列出當前目錄下子目錄名分別打包
for i in $(find -maxdepth 1 ! -name '.' -type d); do tar jcvf $(basename $i).tar.bz2 $i; done
socat 模擬 http client(注意read.txt一定要符合HTTP標準,否則得不到正確結果)
socat -u open:request.txt!!open:response.txt,create,trunc tcp:www.baidu.com:80
socat -u open:request.txt!!open:response.txt,create,append tcp:www.baidu.com:80
socat 模擬 http server
socat open:index.txt!!open:request.txt,create,append tcp-listen:80,reuseaddr,fork
socat 傳送檔案後,就把連線斷了,模擬 http client 不太方便。可使用 netcat 模擬 http client。
netcat 模擬 http client(注意read.txt一定要符合HTTP標準,否則得不到正確結果)
type request.txt | nc baidu.com 80 > response.txt
vi 替換
g/str1/s//str2/g
任意目錄 NDK 編譯
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
當前 activity
adb shell dumpsys activity activities | grep 'Recent #0'
sudo apt-get install ia32-libs build-essential
dpkg -l | grep xxxxsudo apt-get remove --purge xxxx
adb shell dumpsys activity intentsadb shell dumpsys activity broadcasts
adb shell dumpsys activity providers
adb shell dumpsys activity servicesadb shell dumpsys activity activities
adb shell dumpsys activity processes
ifconfig eth0
ifconfig eth0 192.168.0.125
ifconfig eth0 promisc
ifconfig eth0 -promisc
ifconfig eth0 hw ether 00:14:CC:00:1A:00
dhclient
ifup eth0
ifdown
1、設定屬性
adb shell getprop media.stagefright.cache-params
adb shell setprop media.stagefright.cache-params 1572864/20971520/15000000
2、Android logcat, 列印 XXX 或者 YYY
adb logcat -c; adb logcat | grep -E '^|XXX|YYY';
adb logcat -c; adb logcat -v time 2>&1 | tee logcat.txt;
adb -s 192.168.1.32 logcat -c; adb-s192.168.1.32 logcat | grep -E '^|XXX|YYY'
adb -s emulator-5554 logcat -c; adb -s emulator-5554 logcat | grep -E '^|XXX|YYY'
3、批量 push 到要 push 的資料夾下
find -name "libstagefright*.so" -o -name "libmediaplayerservice.so" | xargs -t -I {} adb push {} /system/lib;
find . -type f -mtime -1 | xargs -t -I {} adb push {} /system/bin;
find $OUTBIN/ -type f -mmin -10 | xargs -t -I {} adb -s 10.9.44.138:5555 push {} /system/bin;
4、啟動某應用
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com/
adb shell am start -n com.liuyin.MediaPlayer/.MainActivity -d http://www.xxxx.com/xxxx.ts
5、掛載目錄
adb shell mount -o remount, rw /system
6、抓屏
export PNG_FILE=/data/$(date +%Y_%m_%d_%H_%M_%S).png; adb shell screencap -p ${PNG_FILE}; adb -s 10.9.44.138:5555 pull ${PNG_FILE} .;
7、在當前目錄下搜尋文字 'TEXT'(含子目錄)
grep -r -n 'TEXT' *
8、排除指定文字
grep -v -e "noprint_a" -e "dont_show" text.txt
9、批量替換檔案內容
find -type f | xargs sed -i "s/source/target/g"for f in $(find $1 -type l); do [ -e $f ] && sed -i "s/source/target/g" $f; done
10、批量替換檔名
rename 's/source/target/' *;
for i in $(find -name *.hh); do mv $i $(echo $i|sed 's/\.hh/\.h/'); done
11、顯示目前所有檔案系統的可用空間及使用情形
df -h
顯示當前資料夾空間
du -sh *
12、User AgentMozilla/5.0 AppleCoreMedia/1.0.0.8J2 (iPad; U; CPU OS 6_0 like Max OS X; en-us) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
13、Ubuntu 64 執行 32 位程式
sudo apt-get install ia32-libs
14、JAVA 訪問 SystemProperties
a.選擇 Eclipse 工程屬性頁(Properties)->Java Build Path->Libraries->Add External JARs...->選擇AndroidSDK\platforms\android-##\data\layoutlib.jar->OK
b.增加 import android.os.SystemProperties;
c.SystemProperties.set("MediaPlayer.MediaURL", "http://192.168.0.11:80/MediaFile.ts");
d.SystemProperties.get("MediaPlayer.MediaURL");
15、刪除無效軟連線
a.symlinks -d -r ./
b.for f in $(find $1 -type l); do [ -e $f ] && rm -f $f; done
16、刪除 '.svn' 和 '.repo' 檔案
find -name '.svn' -o -name '.repo' | xargs rm -rf
17、新增使用者
sudo useradd -m -s /bin/bash yourname
18、新增管理員許可權在管理員帳戶下,
sudo adduser <username> sudo
19、刪除軟體
sudo apt-get remove --purge softwarename
20、Linux下檢視 tcp 連線數及狀態
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
21、登出其他已登陸使用者
pkill -kill -t pts/1
22、除錯 Native 程式碼用 ndk-build 編譯 HelloWorld, Eclipse Export 匯出 apk, 安裝 apk,ndk-gdb-py --project=D:\Workspace\HelloWorld --start
grep "^\s*[^# \t].*$" filename
#C++模式註釋的刪除。
#Delete the line begins with //
#首先刪除//在行首的行
sed -i '/^[ \t]*\/\//d' $file
#Delete the line ends with //
#注意已經除去了 //在行首的情況,下面匹配除去URL的//部分,因為程式碼中有一部分中有
#URL,形如fun("ftp://")
sed -i 's/\/\/[^"]*//' $file
#刪除以C語言中註釋只在一行的行
sed -i 's/\/\*.*\*\///' $file
#Delete the lines between /* and */
#刪除C語言中註釋跨行的情況
sed -i '/^[ \t]*\/\*/,/.*\*\//d' $file
#ifndef __ARM_NEON__
#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
#endif
檢視so檔案的函式列表
find -name "*.so" | xargs -t -I {} nm -D {}
find -name "*.so" | xargs -t -I {} objdump -tT {}
檢視 so 的依賴庫
find -name "*.so" | xargs -t -I {} objdump -x {} | grep NEEDED
Native 層啟動 APK
system("am start -n com.liuyin.MediaPlayer/.MainActivity -d http://xxx.com/xxx.ts");
wget 下載重定向檔案,儲存為 Save.data
wget -d -O Save.data "http://www.redirect.com/" #wget 可以重定向,只需要加引號即可
http://pan.baidu.com/share/home?uk=xxxxxx,我懂的,
for((i=1;i<=10;i++)); do echo $(expr $i); done;
只找當前目錄(除 .)
find -maxdepth 1 ! -name '.' -type d
列出當前目錄下子目錄名
for i in $(find -maxdepth 1 ! -name '.' -type d); do basename $i; done;
列出當前目錄下子目錄名分別打包
for i in $(find -maxdepth 1 ! -name '.' -type d); do tar jcvf $(basename $i).tar.bz2 $i; done
socat 模擬 http client(注意read.txt一定要符合HTTP標準,否則得不到正確結果)
socat -u open:request.txt!!open:response.txt,create,trunc tcp:www.baidu.com:80
socat -u open:request.txt!!open:response.txt,create,append tcp:www.baidu.com:80
socat 模擬 http server
socat open:index.txt!!open:request.txt,create,append tcp-listen:80,reuseaddr,fork
socat 傳送檔案後,就把連線斷了,模擬 http client 不太方便。可使用 netcat 模擬 http client。
netcat 模擬 http client(注意read.txt一定要符合HTTP標準,否則得不到正確結果)
type request.txt | nc baidu.com 80 > response.txt
vi 替換
g/str1/s//str2/g
任意目錄 NDK 編譯
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
當前 activity
adb shell dumpsys activity activities | grep 'Recent #0'
sudo apt-get install ia32-libs build-essential
dpkg -l | grep xxxxsudo apt-get remove --purge xxxx
adb shell dumpsys activity intentsadb shell dumpsys activity broadcasts
adb shell dumpsys activity providers
adb shell dumpsys activity servicesadb shell dumpsys activity activities
adb shell dumpsys activity processes
ifconfig eth0
ifconfig eth0 192.168.0.125
ifconfig eth0 promisc
ifconfig eth0 -promisc
ifconfig eth0 hw ether 00:14:CC:00:1A:00
dhclient
ifup eth0
ifdown
1、設定屬性
adb shell getprop media.stagefright.cache-params
adb shell setprop media.stagefright.cache-params 1572864/20971520/15000000
2、Android logcat, 列印 XXX 或者 YYY
adb logcat -c; adb logcat | grep -E '^|XXX|YYY';
adb logcat -c; adb logcat -v time 2>&1 | tee logcat.txt;
adb -s 192.168.1.32 logcat -c; adb-s192.168.1.32 logcat | grep -E '^|XXX|YYY'
adb -s emulator-5554 logcat -c; adb -s emulator-5554 logcat | grep -E '^|XXX|YYY'
3、批量 push 到要 push 的資料夾下
find -name "libstagefright*.so" -o -name "libmediaplayerservice.so" | xargs -t -I {} adb push {} /system/lib;
find . -type f -mtime -1 | xargs -t -I {} adb push {} /system/bin;
find $OUTBIN/ -type f -mmin -10 | xargs -t -I {} adb -s 10.9.44.138:5555 push {} /system/bin;
4、啟動某應用
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com/
adb shell am start -n com.liuyin.MediaPlayer/.MainActivity -d http://www.xxxx.com/xxxx.ts
5、掛載目錄
adb shell mount -o remount, rw /system
6、抓屏
export PNG_FILE=/data/$(date +%Y_%m_%d_%H_%M_%S).png; adb shell screencap -p ${PNG_FILE}; adb -s 10.9.44.138:5555 pull ${PNG_FILE} .;
7、在當前目錄下搜尋文字 'TEXT'(含子目錄)
grep -r -n 'TEXT' *
8、排除指定文字
grep -v -e "noprint_a" -e "dont_show" text.txt
9、批量替換檔案內容
find -type f | xargs sed -i "s/source/target/g"for f in $(find $1 -type l); do [ -e $f ] && sed -i "s/source/target/g" $f; done
10、批量替換檔名
rename 's/source/target/' *;
for i in $(find -name *.hh); do mv $i $(echo $i|sed 's/\.hh/\.h/'); done
11、顯示目前所有檔案系統的可用空間及使用情形
df -h
顯示當前資料夾空間
du -sh *
12、User AgentMozilla/5.0 AppleCoreMedia/1.0.0.8J2 (iPad; U; CPU OS 6_0 like Max OS X; en-us) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
13、Ubuntu 64 執行 32 位程式
sudo apt-get install ia32-libs
14、JAVA 訪問 SystemProperties
a.選擇 Eclipse 工程屬性頁(Properties)->Java Build Path->Libraries->Add External JARs...->選擇AndroidSDK\platforms\android-##\data\layoutlib.jar->OK
b.增加 import android.os.SystemProperties;
c.SystemProperties.set("MediaPlayer.MediaURL", "http://192.168.0.11:80/MediaFile.ts");
d.SystemProperties.get("MediaPlayer.MediaURL");
15、刪除無效軟連線
a.symlinks -d -r ./
b.for f in $(find $1 -type l); do [ -e $f ] && rm -f $f; done
16、刪除 '.svn' 和 '.repo' 檔案
find -name '.svn' -o -name '.repo' | xargs rm -rf
17、新增使用者
sudo useradd -m -s /bin/bash yourname
18、新增管理員許可權在管理員帳戶下,
sudo adduser <username> sudo
19、刪除軟體
sudo apt-get remove --purge softwarename
20、Linux下檢視 tcp 連線數及狀態
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
21、登出其他已登陸使用者
pkill -kill -t pts/1
22、除錯 Native 程式碼用 ndk-build 編譯 HelloWorld, Eclipse Export 匯出 apk, 安裝 apk,ndk-gdb-py --project=D:\Workspace\HelloWorld --start
相關文章
- Ubuntu小技巧Ubuntu
- Ubuntu命令技巧Ubuntu
- 每日Ubuntu小技巧——安裝Ubuntu後做什麼Ubuntu
- Android 小技巧Android
- 調整 Ubuntu 終端顏色技巧Ubuntu
- Ubuntu技巧之 is not in the sudoers file解決方法Ubuntu
- Ubuntu 每日技巧- 自動備份Ubuntu 14.04到Box雲存Ubuntu
- Android 提醒微技巧Android
- Android開發技巧Android
- Android小技巧(2)Android
- Android小技巧(1)Android
- Android小技巧(3)Android
- Android小技巧(4)Android
- Android小技巧(5)Android
- Ubuntu 每日技巧- 自動備份Ubuntu 14.04到Box雲端儲存上Ubuntu
- Android全套動畫使用技巧Android動畫
- Android技巧拾取Android
- Android Bitmap實戰技巧Android
- Ubuntu 14.04下安裝SecureCRT 以及使用技巧UbuntuSecurecrt
- Android studio使用小技巧Android
- android開發技巧雜談Android
- Android佈局優化技巧Android優化
- 在ubuntu 開啟android studioUbuntuAndroid
- Ubuntu 下配置使用Android adbUbuntuAndroid
- ubuntu怎麼把字型變大? ubuntu20.04設定字型大小的兩種技巧Ubuntu
- 快速技巧——如何在 Ubuntu 13.10 上安裝 Google KeepUbuntuGo
- Android入門(五):實踐技巧Android
- Kotlin Android 開發小技巧KotlinAndroid
- Android 佈局小技巧彙總Android
- Android中Fiddler的使用技巧Android
- Android Studio 小技巧合集Android
- Ubuntu 12.04上Android MTP連線UbuntuAndroid
- Android學習系列(42)--Android Studio實戰技巧Android
- Ubuntu Linux終端顏色個性化設定技巧UbuntuLinux
- ubuntu12.10桌面版使用小技巧三例Ubuntu
- Android工程常用配置和開發技巧Android
- Android Studio 小技巧/快捷鍵 合集Android
- Android 關於WebView的使用技巧小解AndroidWebView