1. 程式人生 > >android除錯用到的各種命令

android除錯用到的各種命令

Makfile編譯引數

  -i   忽略命令執行返回的出錯資訊。 
  -s   沉默模式,在執行之前不輸出相應的命令列資訊。 
  -r   禁止使用build-in規則。 
  -n   非執行模式,輸出所有執行命令,但並不執行。 
  -t   更新目標檔案。 
  -q   make操作將根據目標檔案是否已經更新返回"0"或非"0"的狀態資訊。 
  -p   輸出所有巨集定義和目標檔案描述。 
  -d   Debug模式,輸出有關檔案和檢測時間的詳細資訊。 
  Linux下make標誌位的常用選項與Unix系統中稍有不同,下面我們只列出了不同部分: 
  -c dir   在讀取 makefile 之前改變到指定的目錄dir。 
  -I dir   當包含其他 makefile檔案時,利用該選項指定搜尋目錄。 
  -h   help文擋,顯示所有的make選項。 
  -w   在處理 makefile 之前和之後,都顯示工作目錄。

[email protected]目標檔案,$^--所有的依賴檔案,$<--第一個依賴檔案

elf檔案讀取

 readelf -a bld_release.map

nas和cifs掛載

mount -t nfs -o nolock,soft 10.10.36.252:/dvr/shichaog_nfs /mnt/nfs00/ 
mount -t cifs -o rsize=4096,wsize=4096,nolock,noac,soft,username="shichaog_cifs",password="shichaog_cifs" "unc=//10.10.36.252/shichaog_cifs" /mnt/nfs02

shell常用語法

-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真 
-f filename 如果 filename為常規檔案,則為真
-L filename 如果 filename為符號連結,則為真
-r filename 如果 filename可讀,則為真 
-w filename 如果 filename可寫,則為真 
-x filename 如果 filename可執行,則為真
-s filename 如果檔案長度不為0,則為真
-h filename 如果檔案是軟連結,則為真
[ -z STRING ] “STRING” 的長度為零則為真。
filename1 -nt filename2 如果 filename1比 filename2新,則為真。
filename1 -ot filename2 如果 filename1比 filename2舊,則為真。
-eq 等於
-ne 不等於
-gt 大於
-ge 大於等於
-lt 小於
-le 小於等於
至於!號那就是取非了唄!

查詢檔案中包含的欄位

find . -type f -print|xargs grep -l sync_build_mkcfg
find . -type f | xargs grep 
find . -type f | grep 
grep -nwR "

 u盤掛載

mount -t vfat /dev/block/sda /mnt/usb3device/  

感測器log

logcat -s Sensors HAL SensorService

儲存成defconfig

 make savedefconfig ARCH=arm64 && mv defconfig arch/arm64/configs/phoenix_defconfig

ubuntu安裝嵌入式開發環境

sudo apt-get install gcc-arm-linux-gnueabi lzop libncurses5-dev g++-arm-linux-gnueabi gcc-arm-linux-andriod codeblocks

matlab 啟動軟opengl

matlab -softwareopengl


命令列切換橫豎屏

在無觸屏或者無重力感測器時無法橫豎屏看視訊時,可以使用如下的方式切換橫豎屏。

//關閉自動旋轉
[email protected]:~$ adb shell content insert --uri content://settings/system --bind name:s:accelerometer_rotation --bind value:i:0
//橫屏觀看
[email protected]:~$ adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1
//豎屏觀看 [email protected]:~$ adb shell content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:0

wifi display解析度設定:

檢視當前視訊資訊

adb shell dumpsys SurfaceFlinger

//7420上修改解析度後,此庫單推可驗證

out/target/product/phoenix/system/lib64/hw/hwcomposer.exynos5.so

videoFormats.cpp
const VideoFormats::config_t VideoFormats::mResolutionTable[][32] = {
    {
        // CEA Resolutions
        { 640, 480, 60, false, 0, 0},
        { 720, 480, 60, false, 0, 0},
        { 720, 480, 60, true, 0, 0},
        { 720, 576, 50, false, 0, 0},
        { 720, 576, 50, true, 0, 0},
        { 1280, 720, 30, false, 0, 0},
        { 1280, 720, 60, false, 0, 0},
        { 1920, 1080, 30, false, 0, 0},
        { 1920, 1080, 60, false, 0, 0},
        { 1920, 1080, 60, true, 0, 0},
        { 1280, 720, 25, false, 0, 0},
        { 1280, 720, 50, false, 0, 0},
        { 1920, 1080, 25, false, 0, 0},
        { 1920, 1080, 50, false, 0, 0},
        { 1920, 1080, 50, true, 0, 0},
        { 1280, 720, 24, false, 0, 0},
        { 1920, 1080, 24, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
    },
    {
        // VESA Resolutions
        { 800, 600, 30, false, 0, 0},
        { 800, 600, 60, false, 0, 0},
        { 1024, 768, 30, false, 0, 0},
        { 1024, 768, 60, false, 0, 0},
        { 1152, 864, 30, false, 0, 0},
        { 1152, 864, 60, false, 0, 0},
        { 1280, 768, 30, false, 0, 0},
        { 1280, 768, 60, false, 0, 0},
        { 1280, 800, 30, false, 0, 0},
        { 1280, 800, 60, false, 0, 0},
        { 1360, 768, 30, false, 0, 0},
        { 1360, 768, 60, false, 0, 0},
        { 1366, 768, 30, false, 0, 0},
        { 1366, 768, 60, false, 0, 0},
        { 1280, 1024, 30, false, 0, 0},
        { 1280, 1024, 60, false, 0, 0},
        { 1400, 1050, 30, false, 0, 0},
        { 1400, 1050, 60, false, 0, 0},
        { 1440, 900, 30, false, 0, 0},
        { 1440, 900, 60, false, 0, 0},
        { 1600, 900, 30, false, 0, 0},
        { 1600, 900, 60, false, 0, 0},
        { 1600, 1200, 30, false, 0, 0},
        { 1600, 1200, 60, false, 0, 0},
        { 1680, 1024, 30, false, 0, 0},
        { 1680, 1024, 60, false, 0, 0},
        { 1680, 1050, 30, false, 0, 0},
        { 1680, 1050, 60, false, 0, 0},
        { 1920, 1200, 30, false, 0, 0},
        { 1920, 1200, 60, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
    },
    {
        // HH Resolutions
        { 800, 480, 30, false, 0, 0},
        { 800, 480, 60, false, 0, 0},
        { 854, 480, 30, false, 0, 0},
        { 854, 480, 60, false, 0, 0},
        { 864, 480, 30, false, 0, 0},
        { 864, 480, 60, false, 0, 0},
        { 640, 360, 30, false, 0, 0},
        { 640, 360, 60, false, 0, 0},
        { 960, 540, 30, false, 0, 0},
        { 960, 540, 60, false, 0, 0},
        { 848, 480, 30, false, 0, 0},
        { 848, 480, 60, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
        { 0, 0, 0, false, 0, 0},
    }
};

<WifiDisplaySource.cpp>
WifiDisplaySource::WifiDisplaySource(
        const String16 &opPackageName,
        const sp<ANetworkSession> &netSession,
        const sp<IRemoteDisplayClient> &client,
        const char *path)
    : mOpPackageName(opPackageName),
      mState(INITIALIZED),
      mNetSession(netSession),
      mClient(client),
      mSessionID(0),
      mStopReplyID(NULL),
      mChosenRTPPort(-1),
      mUsingPCMAudio(false),
      mClientSessionID(0),
      mReaperPending(false),
      mNextCSeq(1),
      mUsingHDCP(false),
      mIsHDCP2_0(false),
      mHDCPPort(0),
      mHDCPInitializationComplete(false),
      mSetupTriggerDeferred(false),
      mPlaybackSessionEstablished(false) {
    if (path != NULL) {
        mMediaPath.setTo(path);
    }

    mSupportedSourceVideoFormats.disableAll();

    mSupportedSourceVideoFormats.setNativeResolution(
            VideoFormats::RESOLUTION_CEA, 16);  // 1280x720 p30

    // Enable all resolutions up to 1280x720p30
    mSupportedSourceVideoFormats.enableResolutionUpto(
            VideoFormats::RESOLUTION_CEA, 16,
            VideoFormats::PROFILE_CHP,  // Constrained High Profile
            VideoFormats::LEVEL_42);    // Level 3.2
} 

//解析度決定的地方<wifi-display/source/WifiDisplaySource.cpp:>
<span style="font-family:Corbel,Sans-Serif;font-size:18px;color:black;"><span style="font-size:14pt;background-color:white;" dir="ltr"><span style="font-family:Arial,Arial;font-size:12px;"><span style="font-size:10pt;"></span></span></span></span><div style="margin-top:5px;margin-bottom:5px;"><span style="font-family:Arial,Arial;">if (!VideoFormats::PickBestFormat(
                    mSupportedSinkVideoFormats,
                    mSupportedSourceVideoFormats,
                    &mChosenVideoResolutionType,
                    &mChosenVideoResolutionIndex,
                    &mChosenVideoProfile,
                    &mChosenVideoLevel)) {
            ALOGE("Sink and source share no commonly supported video "
                  "formats.");</span></div><div style="margin-top:5px;margin-bottom:5px;"><span style="font-family:Arial,Arial;">            return ERROR_UNSUPPORTED;
        } </span></div>


連線失敗報錯

09-08 13:07:55.710  2142  2142 I display : [PrimaryDisplay] [DYNAMIC_RECOMP] GLES_2_HWC by high FPS(33)
09-08 13:07:56.120  2142  5835 I display : [PrimaryDisplay] [DYNAMIC_RECOMP] HWC_2_GLES by low FPS(0)
09-08 13:07:56.670  2587  3007 D AlarmManagerService: Setting time of day to sec=1473340077
09-08 13:07:57.500  3180  3180 V AlarmClock: AlarmInitReceiver android.intent.action.TIME_SET
09-08 13:07:57.540  3180  3424 V AlarmClock: AlarmInitReceiver finished
09-08 13:08:01.890  3255  3255 I wpa_supplicant: p2p-wlan0-1: CTRL-EVENT-DISCONNECTED bssid=06:32:f4:10:e4:75 reason=3
09-08 13:08:01.900  3255  3255 I wpa_supplicant: p2p-wlan0-1: CTRL-EVENT-DISCONNECTED bssid=06:32:f4:10:e4:75 reason=3 locally_generated=1
09-08 13:08:01.900  3255  3255 I wpa_supplicant: P2P-GROUP-REMOVED p2p-wlan0-1 client reason=GO_ENDING_SESSION
09-08 13:08:01.920  2273  2567 D CommandListener: Clearing all IP addresses on p2p-wlan0-1
09-08 13:08:01.920  2278  6331 E NetworkSession: readMore on socket 22 failed w/ error -110 (Connection timed out)
09-08 13:08:01.920  2278  6332 E WifiDisplaySource: An error occurred in session 2 (-110, 'Recv failed./Connection timed out').
09-08 13:08:01.920  2587  2608 I WifiDisplayController: Lost RTSP connection with Wifi display due to error 1: MP-CL1_75
09-08 13:08:01.920  2587  2608 I WifiDisplayController: Wifi display connection failed!
09-08 13:08:01.920  2587  2645 D NetUtils: android_net_utils_resetConnections in env=0x7f8c53c100 clazz=0x7f815f9cc4 iface=p2p-wlan0-1 mask=0x3
09-08 13:08:01.940  2278  6331 E NetworkSession: Send datagram failed, 199/200 retries left
09-08 13:08:01.940  2278  6331 E NetworkSession: Send datagram failed, 198/200 retries left


首先安裝sun1.6,這裡我安裝的目錄是/usr/java/jdk1.6.0_45

然後設定profile檔案/etc/profile(檔案的末尾新增該檔案)

sudo vim /etc/profile

[javascript] view plain copy
  1. export JAVA_HOME=/usr/java/jdk1.6.0_45  
  2. export JRE_HOME=/usr/java/jdk1.6.0_45/jre  
  3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
  4. export PATH=$PATH:$JAVA_HOME/bin  

source /etc/profile

然後安裝openjdk1.7,在software center中可以進行安裝,安裝完畢後執行如下命令:

  1. [email protected]:~$ sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_45/bin/java 300  
  2. [email protected]:~$ sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.6.0_45/bin/javac 300  
  3. [email protected]:~$ sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/java/jdk1.6.0_45/bin/javadoc 300  
  4. [email protected]:~$ sudo update-alternatives --install /usr/bin/javap javap /usr/java/jdk1.6.0_45/bin/javap 300  

使用如下命令切換:
  1. [email protected]:~/my_carreer/webrtc-checkout$ sudo update-alternatives --config java   
  2. There are 2 choices for the alternative java (providing /usr/bin/java).  
  3.   Selection    Path                                            Priority   Status  
  4. ------------------------------------------------------------  
  5.   0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode  
  6.   1            /usr/java/jdk1.6.0_45/bin/java                   300       manual mode  
  7. * 2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode  
  8. Press enter to keep the current choice[*], or type selection number:   
  9. 檢視當前java版本:  
  10. <prename="code"class="html">[email protected]:~/my_carreer/webrtc-checkout$ java -version  
  11. java version "1.7.0_85"  
  12. OpenJDK Runtime Environment (IcedTea 2.6.1) (7u85-2.6.1-5ubuntu0.14.04.1)  
  13. OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode) 

相關推薦

android除錯到的各種命令

Makfile編譯引數   -i   忽略命令執行返回的出錯資訊。   -s   沉默模式,在執行之前不輸出相應的命令列資訊。   -r   禁止使用build-in規則。   -n   非執行模式,輸出所有執行命令,但並不執行。   -t   更新目標檔案。

android 除錯中 addr2line 命令的使用

http://blog.csdn.net/coder_jack/archive/2010/06/28/5700348.aspx 關於除錯:除錯中addr2line命令的使用。 問題引出:i850的wifi定位開啟後,在使用goole maps時出現rootfs重啟現象,列印的

Gradle命令行編譯Android工程

led app oid 錯誤 windows failure except per AI 在Android sdk 目錄下的samples/android-21/ 文件夾下,任找一個工程,如果在命令行直接編譯 可能會報這種錯誤:gradle buile.gradle FA

MAC Android Studioandroid手機進行除錯並實時同步在電腦上顯示(錄屏gif體積小清晰)

第一步:Mac電腦使用Android Studio進行真機除錯 第二步:Vysor:一款連線Android裝置和Chrome的神奇工具! 第三步:翻牆(藍燈)下載Vysor chrome外掛 第四步:Vysor chrome外掛破解 1.9.3 (Mac) 破解可以顯示更高清的

AT命令建立/除錯SIM800C的GPRS連線

儲存的波特率設定為自動識別,便於建立開機後的串列埠通訊。 ↩設為固定波特率,便於穩定的、可靠的工作。 ↩如果不是GPRS連線,可能是CSD連線,速率和費用與GPRS相差太多。 ↩實測在 TCP CLOSED狀態下,也可以用此命令建立TCP連線。 ↩至此,可以接收對方發來的資料了。 ↩PDP上下文啟用狀

Android手機wifi連線adb除錯的方法

ic_adb_green_black_48dp.png 0x0 前言 Android開發肯定要連線pc的adb進行除錯,傳統的方法是用usb與pc進行連線,操作簡單即插即用,缺點是pc上必須得有對應手機的usb驅動程式,對於谷歌親兒子系列和三星摩托等外國品牌而言這不是什麼

maven打jar包,doc命令執行jar遇到的各種問題(記錄備忘)

事件起因: 公司有個業務需求,兩個系統搞對接,雙方採用中間庫的方式進行資料互動,設立了中間表,對方採用的oracle,我方採用的sqlserver,我負責寫個程式定時從oracle的中間表中讀取資料寫入到公司的sqlserver中,我採用spring+mybatis+qua

[Android除錯基礎五]adb命令—檔案複製與許可權修改

Debug中需要替換一些system下的檔案,通常system為read only,因此需要先修改操作許可權為可讀寫,進入root後,su獲得許可權,在敲入命令:mount -o remount,rw / (mount -ro remount,rw /system),將目錄

Android Studio專案 Windows10 cmd Gradle命令列生成Apk檔案

準備工作: 請自行下載Gradle下載地址),我使用的是gradle-4.4-bin.zip 版本。 完整流程如下: 第一步win配置 Gradle環境 解壓gradle-4.4-bin.zip 找到系統高階配置配置Gradle環境

在DOS命令列視窗中顯示出各種字元拼湊出來的各種圖案的實現方法,如本人頭像

注:文中例子是本人剛學C++程式語言的時候製作的,實現方法很簡單,主要使用for迴圈語句,無需什麼複雜燒腦的演算法。 由於經常看到各種符號拼成的圖案,感覺很有意思,所以自己也弄了個,純屬好玩。    (作品---->原圖)   思   路: >>實現這個圖

Android除錯系列之dumpsys命令

       Android提供了dumpsys工具,可以用於檢視很多系統服務資訊。我們可以直接執行dumpsys命令,會將所有服務資訊都列出來。但是這樣得到的結果太多,不容易拿到有效的資訊,可以在命

Android調相機實現拍照並裁剪圖片,調手機中的相冊圖片並裁剪圖片

!= findview create 圖片剪裁 顯示 parent 學會 true mfile 在 Android應用中,非常多時候我們須要實現上傳圖片,或者直接調用手機上的拍照功能拍照處理然後直接顯示並上傳功能,以下將講述調用相機拍照處理圖片然後顯示和調用手機相冊中的

linux下scp命令在兩個服務器之間傳輸文件,利用php_scp函數進行文件傳輸

evc 在操作 path send 返回值 遠程 false cal 上傳 在linux下利用scp進行文件傳輸, 從服務器下載文件 scp [email protected]/* */:/path/filename /path/filename 上傳

android 調c文件生成so庫並調

dem ges classes lib fault rms img div 節點 公司需要做一個sdk,裏面需要用到別人寫的c文件,第一次做,各種百度,各種學習,現在做一個小總結: 一、新建一個project:例 ExampleDemo, 包名為:com.demo.exam

SQL命令創建表

sql命令 blog http eat use nbsp arc com varchar (計應154蘭家才)格式 use 數據庫名 create table 表名 ( 教師編號 int, 教師職稱 varchar(50), 教師年齡 int, ) 用SQL命令創建表

Java調Linux命令(cd的處理)

time wait adl 連接 ktr lose exce 簡單 res 一、Java調用Linux系統的命令非常簡單 這是一個非常常用的調用方法示例: 1 public String executeLinuxCmd(String cmd) { 2

怎樣linux命令知道系統是ubuntu還是redhat或者其它的系統?

smp ldo gcc rip 適用於 fin 信息 etc centos 版本 1、第一種方法:# lsb_release -aLSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphic

Java 調 Shell 命令

如果 all buffered red end 資金 final 內容 mes 近日項目中有這樣一個需求:系統中的外幣資金調度完成以後,要將調度信息生成一個Txt文件,然後將這個Txt文件發送到另外一個系統(Kondor)中。生成文件自然使用OutputStreamWir

Android調微信登陸、分享、支付

cep from thum 請求 mil 問題 start 返回 ear 前言:用了微信sdk各種痛苦,感覺比qq sdk調用麻煩多了,回調過於麻煩,還必須要在指定包名下的actvity進行回調,所以我在這裏寫一篇博客,有這個需求的朋友可以借鑒一下,以後自己別的項目有用到也

delete命令來個不小心刪除了user表,導致損失了時間和精力

mysql apache delete 運行環境:操作系統:CentOS release 6.8 (Final)數據庫:MySQL 5.5.52-cll-lveWeb應用軟件:Apache/2.2.15(Unix)問題:操作mysql數據庫的user表,計劃刪除一條重復的記錄,不小心刪除了整個us