Android adt 初步理解和分析(三)
前面已經安裝好了sdk,雖然只是下載了一個最早的1.5,但至少有一個sdk了,下面就要用模擬器來運行這個sdk里面的鏡像文件了.
打開 android virtual device manager 工具,點擊new
配置好了,當然目前只有一個 api可以選擇,所以就如下圖:
選擇了一個小的屏幕,這個時候點擊ok,這個時候avd android ?虛擬設備就已經建立好了,建立的路徑是在
紅色標記的那里,你到那個目錄下面會發現
有這么幾個文件
其中config.ini 和 hardware-qemu.ini 這兩個文件很重要,打開分析一下吧
config.ini 文件
avd.ini.encoding=ISO-8859-1
hw.dPad=no
hw.lcd.density=160
hw.cpu.arch=arm
hw.device.hash=1473123938
hw.camera.back=none
disk.dataPartition.size=200M
skin.path=320x480
skin.dynamic=yes
hw.keyboard.lid=yes
hw.keyboard=yes
hw.ramSize=512
hw.device.manufacturer=Generic
hw.sdCard=no
hw.mainKeys=yes
hw.accelerometer=yes
skin.name=320x480
abi.type=armeabi
hw.trackBall=no
hw.device.name=3.2in HVGA slider (ADP1)
hw.battery=yes
hw.sensors.proximity=yes
p_w_picpath.sysdir.1=platforms\android-3\p_w_picpaths\
hw.sensors.orientation=yes
hw.audioInput=yes
hw.gps=yes
vm.heapSize=16
hardware-qemu.ini 這個文件內容很多,就不全貼了
kernel.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/kernel-qemu
kernel.parameters = ?android.checkjni=1
disk.ramdisk.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/ramdisk.img
disk.systemPartition.initPath = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/system.img
disk.systemPartition.size = 200m
從這兩個文件就讓模擬器和sdk聯系起來了
kernel.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/kernel-qemu
表示linux的內核是用的android-3\p_w_picpaths\/kernel-qemu 這個內核,到安裝的sdk目錄下,果然有這個內核
當然這個內核將來也可以通過android源代碼自己下載編譯生成
disk.ramdisk.path = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/ramdisk.img
ramdisk.img
一個分區影像文件,它會在kernel 啟動的時候,以只讀的方式被 mount , 這個文件中只是包含了 /init 以及一些配置文件,這個ramdisk 被用來調用init,以及把真正的root file system mount 起來。
? ? ?#其實ramdisk.img的內容就是/out/target/product/generic/root目錄的壓縮而已。
disk.systemPartition.initPath = G:\downtest\android_test_sdk/platforms\android-3\p_w_picpaths\/system.img
它包含了整個系統,android 的framework,application 等等,會被掛接到 "/" 上,包含了系統中所有的二進制文件
? ? # system.img是out/target.product/generic/目錄下system目錄的一個映射,類似與根文件系統的映像,放著android 的應用程序、配置文件和字體等。
有兩個鏈接描述了各個img的作用,參考一下
http://www.360doc.com/content/11/1213/19/3700464_172010379.shtml
http://www.360doc.com/content/11/1213/19/3700464_172010221.shtml
這些都是編譯好的,并且經過google嚴格測試才對外發布的,而調用這些鏡像的文件,是放在
G:\downtest\android_test_sdk\tools\emulator 這個文件,里面有支持不同cpu的版本,也有不同操作系統的版本.
emulator 啟動的前提條件是能夠找到 這些內核鏡像,而avd 也只不過是emulator啟動時眾多配置參數中的一個集成一些的配置文件而已.
而emulator ?如果生成,則也可以從google源碼中 make PRODUCT-sdk-sdk 中生成.但的確比較復雜,暫時不展開討論
基本上這樣的話,是不是已經能夠大概理解模擬器和sdk之間的關系了
當然細節的研究還是有很多內容,不過可以留待后面的繼續講解
最后截取一張圖啟動好的圖分享一下 呵呵
轉載于:https://blog.51cto.com/sunzeduo/1286346
總結
以上是生活随笔為你收集整理的Android adt 初步理解和分析(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【AaronYang风格】第一篇 Cod
- 下一篇: pro mvvm 读书笔记