• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 224  文章 - 41  trackbacks - 0
            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            享受編程

            常用鏈接

            留言簿(11)

            隨筆分類(159)

            隨筆檔案(224)

            文章分類(2)

            文章檔案(4)

            經典c++博客

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            原文地址:http://blog.csdn.net/kome2000/archive/2009/07/23/4374684.aspx
            Android模擬器入門[轉]
            2009-06-15 17:31

            要玩google 手機 G1的模擬器,當然需要先去google上面下載Android的SDK,解壓出來后在SDK的根目錄下有一個tools文件夾,里面就是模擬器和一些非常有用的工具。

            雙擊“emulator.exe”,直接啟動模擬器,簡單吧。當然,如果要對模擬器進行一些定制,還是要從命令行調用,帶上參數啟動。下面就來介紹一下啟動是常用的幾個參數:

            1.模擬器外觀的定制:
            480x320, landscape: emulator -skin HVGA-L
            320x480, portrait : emulator -skin HVGA-P (default)
            320x240, landscape: emulator -skin QVGA-L
            240x320, portrait : emulator -skin QVGA-P

            2.為模擬器加上SD卡:
            emulator -sdcard D:\sdcard.img

            下面我們再來說說如何創建"sdcard.img"文件:
            “tools”目錄下還有另外一個很好用的工具“mksdcard.exe”,一看名字就知道——make sdcard。對,就用它來創建一個“SD卡”。

            命令為:
            mksdcard 1024M D:\sdcard.img

            OK,這樣一個容量為1G的SD卡就創建完畢了。

            使用SDCard:

            創建: mksdcard <1024M> <sdcard.img>
            (bytes(default),K,M)

            連接到模擬器: emulator -sdcard <目錄/sdcard.img>

            傳文件到SDCard: adb push <目錄/audio.mp3> </sdcard/audio.mp3>

             

            玩過手機模擬器的人一般最感興趣的當然是模擬器能做什么呢?下面一一道來:

            GPhone的模擬器有個特有的號碼:15555218135,這個就類似我們實體手機的SIM卡號碼啦。要實現撥號,用手機?當然不行!

            更簡單,三步:
            1.運行 cmd
            2.連接: telnet localhost 5554
            3.命令:gsm call 15555218135

            look!是不是模擬器上顯示來電了?接聽/掛斷和實體手機一樣。

            發短信也一樣簡單,重復上面1,2兩步,第三部命令改一下:
            sms send 15555218135 Hello,this is a Message.

            來說說PC與模擬器文件傳輸的方法吧。這里需要用到另一個重要工具,也在“tools”目錄下,“adb.exe”。

            adb:

            adb(Android Debug Bridge)是Android 提供的一個通用的調試工具,借助這個工具,我們可以管理設備或手機 模擬器 的狀態 。還可以進行以下的操作:
            1、快速更新設備或手機模擬器中的代碼,如應用或Android系統升級;
            2、在設備上運行shell命令;
            3、管理設備或手機模擬器上的預定端口;
            4、在設備或手機模擬器上復制或粘貼文件

            一些常用的操作:

            進入Shell: adb shell

            通過上面的命令,就可以進入設備或模擬器的shell環境中,在這個Linux Shell中,你可以執行各種Linux 的命令,另外如果只想執行一條shell命令,可以采用以下的方式:
            adb shell [command]
            如:adb shell dmesg會打印出內核的調試信息。
            (Android的linux shell做了大量精簡,很多linux常用指令都不支持)

            上傳文件: adb push <PC文件> </tmp/...>
            下載文件: adb pull </tmp/...> <PC文件>

            安裝程序: adb install <*.apk>
            卸載軟件: adb shell rm /data/app/<*.apk>

            補充一點,通過adb安裝的軟件(*.apk)都在"/data/app/"目錄下,所以安裝時不必制定路徑,卸載只需要簡單的執行"rm"就行。

            結束adb: adb kill-server

            顯示android模擬器狀態:
            adb devices (端口信息)
            adb get-product (設備型號)
            adb get-serialno (序列號)

            等待正在運行的設備: adb wait-for-device

            端口轉發: adb forward adb forward tcp:5555 tcp:1234 
            (將默認端口TCP 5555轉發到1234端口上)

            查看bug報告: adb bugreport

            adb shell sqlite3 訪問數據庫SQLite3 
            adb shell logcat -b radio 記錄無線通訊日志: 一般來說,無線通訊的日志非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設置記錄:

            應用程序配置文件:
            "AndroidManifest.xml"中
            "<category android:name="android.intent.category.LAUNCHER" />"
            決定是否應用程序是否顯示在Panel上

            -----------------------------------------------------------------------------------

            am指令(在shell內使用am來加載android應用):
            am [start|instrument]    
                
            am start [-a <ACTION>] 
               [-d <DATA_URI>]
               [-t <MIME_TYPE>]                 
               [-c <CATEGORY> [-c <CATEGORY>] ...]  
               [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
               [-n <COMPONENT>] [-D] [<URI>]       

            am instrument [-e <ARG_NAME> <ARG_VALUE>] 
               [-p <PROF_FILE>]                 
               [-w] <COMPONENT>

            啟動瀏覽器:
            am start -a android.intent.action.VIEW -d http://www.google.cn/

            撥打電話:
            am start -a android.intent.action.CALL -d tel:10086

            啟動google map直接定位到北京:
            am start -a android.intent.action.VIEW geo:0,0?q=beijing

            -----------------------------------------------------------------------------------

            目錄:
            # ls
            ls
            sqlite_stmt_jou
            cache
            sdcard
            etc
            init
            init.goldfish.r
            init.rc
            data
            system
            proc
            sys
            sbin
            default.prop
            root
            dev

            這里要說明下,從andorid中得到的文件流的字符串的順序是按“類型+權限+擁有者+數組+大小+日期+名稱+鏈接到”順序排列的,其中類型“d”表示的是文件夾,"l"表示的是鏈接,'-'表示的是文件。

            例如d rwxrwx--- system   cache                2009-01-09 11:46              cache

            上面的目錄就是通過解析ls命令返回的字符串進行解析的。

            -----------------------------------------------------------------------------------

            數據庫:

            聯絡人(含通話記錄)數據庫:/data/data/com.android.providers.contacts/databases/contacts.db
            媒體庫(貌似記錄鈴聲設置等信息): /data/data/com.android.providers.media/internal.db
            系統設置: /data/data/com.android.providers.settings/databases/settings.db
            短信庫: /data/data/com.android.providers.telephony/databases/mmssms.db
            Web設置: /data.data/com.android.settings/databases/webview.db
            地圖搜索歷史記錄:/data/data/com.google.android.apps.maps/databases/search_history.db
            帳號庫?(內含androidId信息) : /data/data/com.google.android.googleapps/databases/accounts.db

            鈴聲: /system/media/audio
            時區設置: /data/property/persist.sys.timezone

            -----------------------------------------------------------------------------------
            目前的安裝模式
              安裝前:
              1. emulator -wipe-data
              2. adb push busybox ./
              3. adb shell ./busybox tar -cf /tmp/data.tar /data
              4. adb pull /tmp/data.tar .
              5. mkdir original
              6. cd original
              7. tar -xf ../data.tar

              安裝后:
              1. adb shell ./busybox tar -cf /tmp/data.tar /data
              2. adb pull /tmp/data.tar .
              3. mkdir after_install
              4. cd after_install
              5. tar -xf ../data.tar
              
                目前來看,就是/data/app和data/data下多了兩個相關文件,同時在/data/system/packages.xml中增加了安裝的程序信息。似乎菜單也是從這個文件中得到是否新安裝程序,以及如何顯示相關信息比如名稱什么的。

            android模擬器和真機的不同之處:

                * 不支持呼叫和接聽實際來電;但可以通過控制臺模擬電話呼叫(呼入和呼出)
                * 不支持USB連接
                * 不支持相機/視頻捕捉
                * 不支持音頻輸入(捕捉);但支持輸出(重放)
                * 不支持擴展耳機
                * 不能確定連接狀態
                * 不能確定電池電量水平和交流充電狀態
                * 不能確定SD卡的插入/彈出
                * 不支持藍牙

            andoroid模擬器使用注意:
            平時使用emulator測試開發的網友注意應該定期清理下C:\Documents and Settings\sh\Local Settings\Temp\AndroidEmulator文件夾,由于Android模擬器每次運行時會臨時生成幾個.tmp后綴的臨時文件,沒有幾個月功夫簡單一看竟然占用磁盤空間高達5GB之多。這些文件網友可以安全的刪除

            posted on 2010-04-29 14:13 漂漂 閱讀(717) 評論(0)  編輯 收藏 引用 所屬分類: android 開發
            青春久久| 久久激情亚洲精品无码?V| 久久国产精品无| 天天爽天天狠久久久综合麻豆| 久久婷婷国产综合精品| 国产精品丝袜久久久久久不卡| 亚洲午夜无码AV毛片久久| 九九久久99综合一区二区| 午夜精品久久久内射近拍高清| 久久综合给合久久狠狠狠97色69 | 一本久久知道综合久久| 日韩精品久久久久久免费| 99热精品久久只有精品| 中文字幕人妻色偷偷久久| 18岁日韩内射颜射午夜久久成人 | 欧美激情精品久久久久久久| 欧洲成人午夜精品无码区久久| 99久久精品免费国产大片| 亚洲精品乱码久久久久久| 亚洲日韩欧美一区久久久久我| 狠狠88综合久久久久综合网| 国产成人精品综合久久久| 欧美精品丝袜久久久中文字幕 | 久久精品国产男包| 天堂无码久久综合东京热| 成人a毛片久久免费播放| 久久国产免费观看精品| 一本久久a久久精品vr综合| 久久久噜噜噜久久中文字幕色伊伊| 久久精品一区二区三区中文字幕| 久久噜噜电影你懂的| 国产精品久久一区二区三区| 精品国产VA久久久久久久冰| 欧美丰满熟妇BBB久久久| 午夜精品久久久久久毛片| 久久午夜无码鲁丝片秋霞| 久久婷婷五月综合国产尤物app| 亚洲精品无码久久久| 九九精品久久久久久噜噜| 97久久国产综合精品女不卡| 久久天天躁狠狠躁夜夜avapp|