android sd卡的建立及使用

來源:互聯網
上載者:User

Android模擬器下怎麼建一個SD卡及其上傳資料和檔案夾的建立全解

最近在做一個應用要在android模擬器上建一個SD卡,放進去一些檔案。就自己的心得寫一些:

有兩個方法,這個大家在百度上一搜就有好多,幾乎是一個版本:

用cmd命令建SD卡,這個方法比較直觀容易理解:

1.建立鏡像檔案

用cmd中進入到android的SDK的Tools目錄下,執行mksdcard建立。

例如我的tools目錄為:E:\skyland\android-sdk-windows-1.0_r2\tools>

則:E:\skyland\android-sdk-windows-1.0_r2\tools>mksdcard 128M sdcard.img

其中第一個參數為要建立的sdcard容量大小(容量大小自己決定),第二個參數為sdcard的名字

2.啟動帶sdcard的Android模擬器

在剛才的Dos介面下,E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

這樣會看到tools目錄下就會動態產生一個sdcard.img.lock的檔案夾,當關閉模擬器時又會消失

注意:不要關閉這個Dos視窗,不然連模擬器也會關掉,後面一步也不能執行

3.添加檔案到sdcard

另外開一個Dos視窗(cmd),還是要cd到android的SDK的Tools目錄下,用adb push命令添加

E:\skyland\android-sdk-windows-1.0_r2\tools>adb push new.JPG /sdcard

第一個參數為要加入的圖片(mp3)全名,如果名字中間有空格,要用雙引號將其括起來

如:E:\skyland\android-sdk-windows-1.0_r2\tools>adb push "First Start.mp3" /sdcard

第二參數就是剛才建立的sdcard了。

4.查看所添加的檔案

這一步可能要以帶sdcard的方式重啟Android模擬器才能看到剛才所添加的資源檔,即先關掉模擬器,

然後E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

啟動模擬器之後,點擊MENU上面那箭頭-->Dev Tools-->Raw Image Viewer 就會以投影片的形式

看到剛添加的

圖片檔案了,然後通過按下面左右控製圖片瀏覽

有人說可以在MENU上面那箭頭-->Dev Tools-->Media Scanner看到所添加的mp3檔案,但我試來不

行, 哪位行的話給我留言....呵呵

我的方法是:MENU上面那箭頭-->Music-->Songs就看到所添加的mp3檔案了,點一首Enjoy一下吧

本來第一首是英文名的,但不知道為什麼會亂碼,還有我加入的檔案名稱跟顯示歌名不同的

===========MyEclipse下使用sdcard==============

如果沒建立.img檔案的話,請回到開頭做1,2步。

注意:如果沒按第2步啟動模擬器,卻做下面的內容的話,就會報錯說 sdcard是唯讀檔案,

添加不成功

1.啟動MuEclipse,菜單Window-->Perspective-->other-->DDMS

選中sdcard,然後點擊push就可以把圖片的資源添加到sdcard了

2.用到sdcard資源編譯Android應該程式

如果編譯Android應該程式的時候需要用到sdcard的資源,則在選則運行檔案後

右擊Run As-->Open Run Dialog-->Target

在Target標籤的Aditional Emulator Command Line Options中加入啟動參數

-sdcard E:\skyland\android-sdk-windows-1.0_r2\tools\sdcard

注意:是絕對路徑

如果沒按第二步啟動模擬器的話,permissions那列對應的sdcard將會是“---------”

++++++++++++++++++++++++++++++++++++++++++

Andorid開發中經常遇到與SD卡有關的調試,Android SDK+Eclipse提供了SD卡的類比方法。使用方法如下:

  1、建立一個SD卡鏡像檔案。

   開啟cmd,輸入如下命令:

   mksdcard 1024M sdcard.img

   該命令會在目前的目錄下產生一個sdcard.img檔案,該檔案就是Android模擬器的SD卡鏡像檔案。

   1024M表示1024兆,即該SD卡有1個G的容量,也可用K做單位(1M=1024K),K,M必須大寫。

   目前Android支援8M~128G的SD卡。

  2、運行帶有SD卡的模擬器

  建立了SD卡鏡像檔案,只是建立了一個檔案,還不能在模擬器中直接用,要在模擬器中可看到該SD卡,方法有兩種,如下:   

   ◆在cmd中,命令如下:

   emulator -sdcard e:sdcard.img

   ◆在Eclipse中,在Run->Run Configurations...菜單裡面的Target標籤頁裡面,輸入啟動參數,如:

3、向SD卡中導檔案

   ◆在cmd中,命令如下:

這會將本地目前的目錄下的test.txt檔案考到sdcard中,檔案名稱不變。前一個test.txt是本地檔案的路徑,sdcard是目的sdcard鏡像的檔案名稱(去掉尾碼)。

   ◆在Eclipse中,操作如下:

   在設定了RUN的命令參數之後,RUN一個應用,然後使用DDMS的File Explorer工具匯入匯出檔案。

   開啟DDMS工具:在Eclipse的Window->Open Perspective->Other...裡面開啟DDMS工具。

   在DDMS的File Explorer標籤頁裡面選擇sdcard目錄匯入匯出檔案,如:

4、在模擬器中使用SD卡中的檔案

   匯入檔案後,如果要在模擬器中訪問,還需要在模擬器中的Dev tools裡面scan一下媒體檔案

****************************************

上面主要說了怎麼建立和匯入檔案,可是在鏡像的SD卡裡怎麼建立一個檔案夾和刪除已經上傳的檔案需要用到adb命令,下面是一些比較全的adb命令:

android adb shell常用命令

最進學到了adb工具的一些小技巧,記錄在此。作業系統是windows用。

1. 顯示系統中全部Android平台:
android list targets
2. 顯示系統中全部AVD(模擬器):
android list avd
3. 建立AVD(模擬器):
android create avd --name 名稱 --target 平台編號
4. 啟動模擬器:
emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
5. 刪除AVD(模擬器):
android delete avd --name 名稱
6. 建立SDCard:
mksdcard 1024M ~/名稱.img
7. AVD(模擬器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 啟動DDMS:
ddms
9. 顯示當前啟動並執行全部模擬器:
adb devices
10. 對某一模擬器執行命令:
abd -s 模擬器編號 命令
11. 安裝應用程式:
adb install -r 應用程式.apk
12. 擷取模擬器中的檔案:
adb pull <remote> <local>
13. 向模擬器中寫檔案:
adb push <local> <remote>
14. 進入模擬器的shell模式:
adb shell
15. 啟動SDK,文檔,執行個體下載管理員:
android
16. 缷載apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
17. 查看adb命令協助資訊:
adb help
18. 在命令列中查看LOG資訊:
adb logcat -s 標籤名
19. adb shell後面跟的命令主要來自:
源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄。
20. 刪除系統應用:
adb remount (重新掛載系統磁碟分割,使系統磁碟分割重新可寫)。
adb shell
cd system/app
rm *.apk
21. 擷取管理員權限:
adb root
22. 啟動Activity:
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴充資料,等)。
23、發布連接埠:
你可以設定任意的連接埠號碼,做為主機向模擬器或裝置的請求連接埠。如:
adb forward tcp:5555 tcp:8000
24、複製檔案:
你可向一個裝置或從一個裝置中複製檔案,
複製一個檔案或目錄到裝置或模擬器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
從裝置或模擬器上複製一個檔案或目錄:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
25、搜尋模擬器/裝置的執行個體:
取得當前啟動並執行模擬器/裝置的執行個體的列表及每個執行個體的狀態:
adb devices
26、查看bug報告:
adb bugreport
27、記錄無線通訊日誌:
一般來說,無線通訊的日誌非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設定記錄:
adb shell
logcat -b radio
28、擷取裝置的ID和序號:
adb get-product
adb get-serialno
29、訪問資料庫SQLite3
adb shell
sqlite3

#cd system/sd/data //進入系統內指定檔案夾
#ls //列表顯示當前檔案夾內容
#rm -r xxx //刪除名字為xxx的檔案夾及其裡面的所有檔案
#rm xxx //刪除檔案xxx
#rmdir xxx //刪除xxx的檔案夾

# 非阻塞logcat
使用-d參數,可以在讀完所有log後返回,而不會一直等待,在自動化較有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter為xxx的日誌,存入xxx.log,然後返回。
# 用grep過濾log
windows也不要緊,grep有windows版本。其實,裝了cygwin後,它就帶了grep。
adb logcat | grep xxx //過濾出帶xxx字樣的log
# 在本地執行adb shell中的命令
我們常需要adb shell後,在裝置上執行一些命令。其實可以不進入shell,直接執行裝置上命令並輸出到本地。例如:
adb shell "am start -n com.aaa.bbb/com.aaa.bbb.activity" //啟動某程式
# 用top查看cpu使用率
可以在adb shell中,用top來查看cpu和記憶體等使用方式,-m參數可以只顯示前幾條,-n參數可以只重新整理幾次,然後返回,不再阻塞,在自動化時有用。例如:
adb shell "top -n 1" | grep com.aaa.bbb //不進入shell,直接在本地執行top,只執行一次,並過濾出com.aaa.bbb的那一行。通過輸出,可以得到這個程式的cpu使用率,也可以判斷此程式是否已退出。
# 用adb devices查看是否有已串連的裝置
adb devices可以列出所有已串連的裝置,並有online/offline的標誌,根據分析輸出可以得到是否有裝置,有哪些裝置。
# 批量上傳/下載檔案到裝置
adb push和adb pull一次只能傳一個檔案,用for命令可以做到批量處理:
adb shell "mkdir /sdcard/yuv" //在裝置上建立/sdcard/yuv目錄
for %i in (*.yuv) do adb push %i /sdcard/yuv/ //將目前的目錄下所有副檔名為yuv的檔案,上傳到/sdcard/yuv/目錄下

Android模擬器下怎麼建一個SD卡及其上傳資料和檔案夾的建立全解

最近在做一個應用要在android模擬器上建一個SD卡,放進去一些檔案。就自己的心得寫一些:

有兩個方法,這個大家在百度上一搜就有好多,幾乎是一個版本:

用cmd命令建SD卡,這個方法比較直觀容易理解:

1.建立鏡像檔案

用cmd中進入到android的SDK的Tools目錄下,執行mksdcard建立。

例如我的tools目錄為:E:\skyland\android-sdk-windows-1.0_r2\tools>

則:E:\skyland\android-sdk-windows-1.0_r2\tools>mksdcard 128M sdcard.img

其中第一個參數為要建立的sdcard容量大小(容量大小自己決定),第二個參數為sdcard的名字

2.啟動帶sdcard的Android模擬器

在剛才的Dos介面下,E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

這樣會看到tools目錄下就會動態產生一個sdcard.img.lock的檔案夾,當關閉模擬器時又會消失

注意:不要關閉這個Dos視窗,不然連模擬器也會關掉,後面一步也不能執行

3.添加檔案到sdcard

另外開一個Dos視窗(cmd),還是要cd到android的SDK的Tools目錄下,用adb push命令添加

E:\skyland\android-sdk-windows-1.0_r2\tools>adb push new.JPG /sdcard

第一個參數為要加入的圖片(mp3)全名,如果名字中間有空格,要用雙引號將其括起來

如:E:\skyland\android-sdk-windows-1.0_r2\tools>adb push "First Start.mp3" /sdcard

第二參數就是剛才建立的sdcard了。

4.查看所添加的檔案

這一步可能要以帶sdcard的方式重啟Android模擬器才能看到剛才所添加的資源檔,即先關掉模擬器,

然後E:\skyland\android-sdk-windows-1.0_r2\tools>emulator -sdcard sdcard.img

啟動模擬器之後,點擊MENU上面那箭頭-->Dev Tools-->Raw Image Viewer 就會以投影片的形式

看到剛添加的

圖片檔案了,然後通過按下面左右控製圖片瀏覽

有人說可以在MENU上面那箭頭-->Dev Tools-->Media Scanner看到所添加的mp3檔案,但我試來不

行, 哪位行的話給我留言....呵呵

我的方法是:MENU上面那箭頭-->Music-->Songs就看到所添加的mp3檔案了,點一首Enjoy一下吧

本來第一首是英文名的,但不知道為什麼會亂碼,還有我加入的檔案名稱跟顯示歌名不同的

===========MyEclipse下使用sdcard==============

如果沒建立.img檔案的話,請回到開頭做1,2步。

注意:如果沒按第2步啟動模擬器,卻做下面的內容的話,就會報錯說 sdcard是唯讀檔案,

添加不成功

1.啟動MuEclipse,菜單Window-->Perspective-->other-->DDMS

選中sdcard,然後點擊push就可以把圖片的資源添加到sdcard了

2.用到sdcard資源編譯Android應該程式

如果編譯Android應該程式的時候需要用到sdcard的資源,則在選則運行檔案後

右擊Run As-->Open Run Dialog-->Target

在Target標籤的Aditional Emulator Command Line Options中加入啟動參數

-sdcard E:\skyland\android-sdk-windows-1.0_r2\tools\sdcard

注意:是絕對路徑

如果沒按第二步啟動模擬器的話,permissions那列對應的sdcard將會是“---------”

++++++++++++++++++++++++++++++++++++++++++

Andorid開發中經常遇到與SD卡有關的調試,Android SDK+Eclipse提供了SD卡的類比方法。使用方法如下:

  1、建立一個SD卡鏡像檔案。

   開啟cmd,輸入如下命令:

   mksdcard 1024M sdcard.img

   該命令會在目前的目錄下產生一個sdcard.img檔案,該檔案就是Android模擬器的SD卡鏡像檔案。

   1024M表示1024兆,即該SD卡有1個G的容量,也可用K做單位(1M=1024K),K,M必須大寫。

   目前Android支援8M~128G的SD卡。

  2、運行帶有SD卡的模擬器

  建立了SD卡鏡像檔案,只是建立了一個檔案,還不能在模擬器中直接用,要在模擬器中可看到該SD卡,方法有兩種,如下:   

   ◆在cmd中,命令如下:

   emulator -sdcard e:sdcard.img

   ◆在Eclipse中,在Run->Run Configurations...菜單裡面的Target標籤頁裡面,輸入啟動參數,如:

3、向SD卡中導檔案

   ◆在cmd中,命令如下:

這會將本地目前的目錄下的test.txt檔案考到sdcard中,檔案名稱不變。前一個test.txt是本地檔案的路徑,sdcard是目的sdcard鏡像的檔案名稱(去掉尾碼)。

   ◆在Eclipse中,操作如下:

   在設定了RUN的命令參數之後,RUN一個應用,然後使用DDMS的File Explorer工具匯入匯出檔案。

   開啟DDMS工具:在Eclipse的Window->Open Perspective->Other...裡面開啟DDMS工具。

   在DDMS的File Explorer標籤頁裡面選擇sdcard目錄匯入匯出檔案,如:

4、在模擬器中使用SD卡中的檔案

   匯入檔案後,如果要在模擬器中訪問,還需要在模擬器中的Dev tools裡面scan一下媒體檔案

****************************************

上面主要說了怎麼建立和匯入檔案,可是在鏡像的SD卡裡怎麼建立一個檔案夾和刪除已經上傳的檔案需要用到adb命令,下面是一些比較全的adb命令:

android adb shell常用命令

最進學到了adb工具的一些小技巧,記錄在此。作業系統是windows用。

1. 顯示系統中全部Android平台:
android list targets
2. 顯示系統中全部AVD(模擬器):
android list avd
3. 建立AVD(模擬器):
android create avd --name 名稱 --target 平台編號
4. 啟動模擬器:
emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
5. 刪除AVD(模擬器):
android delete avd --name 名稱
6. 建立SDCard:
mksdcard 1024M ~/名稱.img
7. AVD(模擬器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator\.android\avd)
8. 啟動DDMS:
ddms
9. 顯示當前啟動並執行全部模擬器:
adb devices
10. 對某一模擬器執行命令:
abd -s 模擬器編號 命令
11. 安裝應用程式:
adb install -r 應用程式.apk
12. 擷取模擬器中的檔案:
adb pull <remote> <local>
13. 向模擬器中寫檔案:
adb push <local> <remote>
14. 進入模擬器的shell模式:
adb shell
15. 啟動SDK,文檔,執行個體下載管理員:
android
16. 缷載apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
17. 查看adb命令協助資訊:
adb help
18. 在命令列中查看LOG資訊:
adb logcat -s 標籤名
19. adb shell後面跟的命令主要來自:
源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄。
20. 刪除系統應用:
adb remount (重新掛載系統磁碟分割,使系統磁碟分割重新可寫)。
adb shell
cd system/app
rm *.apk
21. 擷取管理員權限:
adb root
22. 啟動Activity:
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴充資料,等)。
23、發布連接埠:
你可以設定任意的連接埠號碼,做為主機向模擬器或裝置的請求連接埠。如:
adb forward tcp:5555 tcp:8000
24、複製檔案:
你可向一個裝置或從一個裝置中複製檔案,
複製一個檔案或目錄到裝置或模擬器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
從裝置或模擬器上複製一個檔案或目錄:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
25、搜尋模擬器/裝置的執行個體:
取得當前啟動並執行模擬器/裝置的執行個體的列表及每個執行個體的狀態:
adb devices
26、查看bug報告:
adb bugreport
27、記錄無線通訊日誌:
一般來說,無線通訊的日誌非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設定記錄:
adb shell
logcat -b radio
28、擷取裝置的ID和序號:
adb get-product
adb get-serialno
29、訪問資料庫SQLite3
adb shell
sqlite3

#cd system/sd/data //進入系統內指定檔案夾
#ls //列表顯示當前檔案夾內容
#rm -r xxx //刪除名字為xxx的檔案夾及其裡面的所有檔案
#rm xxx //刪除檔案xxx
#rmdir xxx //刪除xxx的檔案夾

# 非阻塞logcat
使用-d參數,可以在讀完所有log後返回,而不會一直等待,在自動化較有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter為xxx的日誌,存入xxx.log,然後返回。
# 用grep過濾log
windows也不要緊,grep有windows版本。其實,裝了cygwin後,它就帶了grep。
adb logcat | grep xxx //過濾出帶xxx字樣的log
# 在本地執行adb shell中的命令
我們常需要adb shell後,在裝置上執行一些命令。其實可以不進入shell,直接執行裝置上命令並輸出到本地。例如:
adb shell "am start -n com.aaa.bbb/com.aaa.bbb.activity" //啟動某程式
# 用top查看cpu使用率
可以在adb shell中,用top來查看cpu和記憶體等使用方式,-m參數可以只顯示前幾條,-n參數可以只重新整理幾次,然後返回,不再阻塞,在自動化時有用。例如:
adb shell "top -n 1" | grep com.aaa.bbb //不進入shell,直接在本地執行top,只執行一次,並過濾出com.aaa.bbb的那一行。通過輸出,可以得到這個程式的cpu使用率,也可以判斷此程式是否已退出。
# 用adb devices查看是否有已串連的裝置
adb devices可以列出所有已串連的裝置,並有online/offline的標誌,根據分析輸出可以得到是否有裝置,有哪些裝置。
# 批量上傳/下載檔案到裝置
adb push和adb pull一次只能傳一個檔案,用for命令可以做到批量處理:
adb shell "mkdir /sdcard/yuv" //在裝置上建立/sdcard/yuv目錄
for %i in (*.yuv) do adb push %i /sdcard/yuv/ //將目前的目錄下所有副檔名為yuv的檔案,上傳到/sdcard/yuv/目錄下

相關文章

聯繫我們

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