安卓adb調試命令常見的問題

來源:互聯網
上載者:User

標籤:

首先本人使用的是ubuntu系統,在Eclipse下開發的時候使用無線調試,在終端直接輸入adb connect 114.114.114.114沒有問題,給手機安裝軟體用adb install  ***.apk也沒有問題,可能是之前我在終端安裝過adb-tools的原因,但是對於其他的命令比如push pull命令一直不能使用總是出現error:device not found。後來查詢了些資料,說的是應該使用SDK目錄下的platform-tools檔案夾裡面的adb,相關的使用命令如下:

而像push、pull的命令不需要在shell環境中進行,比如我將/system/build.prop檔案複製到PC上:

這樣就成功的將build.prop檔案複製到我的下載檔案夾裡面了,當使用push命令將PC上的檔案複製到android裝置上,你可能需要的問題:

1.提示read-only file system

當使用adb shell時,向/system目錄及其子目錄寫檔案時經常提示“read-only file system”。其實產生該提示的原因很簡單:/system是以ro模式掛載的,因此我們所要做的就是以讀寫入模式(rw)重新掛載需要修改的目錄(本例中為/system),具體流程如下:

1). 進入adb shell並查看當前掛在情況

命令號下輸入:adb shell#mount

這個時刻可以看到當前的掛載情況:

rootfs on / type rootfs (rw,relatime)tmpfs on /dev type tmpfs (rw,relatime,mode=755)devpts on /dev/pts type devpts (rw,relatime,mode=600)proc on /proc type proc (rw,relatime)sysfs on /sys type sysfs (rw,relatime)none on /acct type cgroup (rw,relatime,cpuacct)tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)none on /dev/cpuctl type cgroup (rw,relatime,cpu)/dev/block/mmcblk0p25 on /system type ext4 (ro,relatime,barrier=1,data=ordered)/dev/block/mmcblk0p26 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc)/dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)/dev/block/mmcblk0p28 on /devlog type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)/data/d on /data/d type debugfs (rw,relatime)/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)/dev/block/vold/179:65 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)/dev/block/vold/179:65 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)

我們感興趣的就是代碼中底線的部分,可以看到system是以唯讀權掛載的

2)重新掛載需要修改許可權的目錄:

#mount -o remount -o rw /system

修改完成之後最後還是將其改成唯讀許可權,只需要將上面的rw改成ro即可。

3)查看修改後的結果

# mountrootfs on / type rootfs (rw,relatime)tmpfs on /dev type tmpfs (rw,relatime,mode=755)devpts on /dev/pts type devpts (rw,relatime,mode=600)proc on /proc type proc (rw,relatime)sysfs on /sys type sysfs (rw,relatime)none on /acct type cgroup (rw,relatime,cpuacct)tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)none on /dev/cpuctl type cgroup (rw,relatime,cpu)/dev/block/mmcblk0p25 on /system type ext4 (rw,relatime,barrier=1,data=ordered)/dev/block/mmcblk0p26 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered,noauto_da_alloc)/dev/block/mmcblk0p27 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)/dev/block/mmcblk0p28 on /devlog type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=ordered)/data/d on /data/d type debugfs (rw,relatime)/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)/dev/block/vold/179:65 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)/dev/block/vold/179:65 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0602,dmask=0602,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)tmpfs on /mnt/sdcard/.android_secure type tmpfs (ro,relatime,size=0k,mode=000)#

這樣就可以盡情的使用push、pull命令。

但是在實際中我的還是提示failed to copy *****,operation denied。具體的原因我不太清除,但是我做了一個折中的解決辦法,先將檔案push到SD卡上,然後進入shell環境下使用root許可權移動到你需要的目錄,裡面的操作命令和Linux下的shell命令是一樣的。

2.使用chmod修改許可權提示bad mode,解決辦法是使用數字形式的許可權:

chmod 755 build.prop

 3. 在執行mv命令時提示“-cross-device link”

這種情況下,可以使用cat將檔案重新導向到指定位置,然後根據需要,修改許可權即可。

cat /mnt/sdcard/test.apk > /system/app/test.apk

 

安卓adb調試命令常見的問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.