運行編譯過的android源碼最簡單的方式是在編譯完成后直接執行emulator。
但是,一般情況下我們都在服務器編譯源碼,或者在另外一台機器上編譯出來 iso文件。
這種情況我們需要手動設置一下avd 使其能夠在虛擬機上運行。具體步驟如下(以windows為例):
1.打開命令行切換到android sdk目錄下的tools 目錄:
執行 android list 命令
可以看到列出了很多target, 其實這些target 都是你的sdk 下載過的,如果沒有你要編譯的目標,可以更新一下sdk。
---------- id: 5 or "android-21" Name: Android 5.0.1 Type: Platform API level: 21 Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W XGA720, WXGA800, WXGA800-7in Tag/ABIs : no ABIs. ---------- id: 6 or "android-22" Name: Android 5.1.1 Type: Platform API level: 22 Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W XGA720, WXGA800, WXGA800-7in Tag/ABIs : default/armeabi-v7a, default/x86 ---------- id: 7 or "android-23" Name: Android 6.0 Type: Platform API level: 23 Revision: 3 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W XGA720, WXGA800, WXGA800-7in Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default /x86, default/x86_64 ---------- id: 8 or "android-N" Name: Android N (Preview) Type: Platform API level: N Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W XGA720, WXGA800, WXGA800-7in Tag/ABIs : no ABIs.
2.選擇編譯目標
這里以android 5.1.1 為例,執行以下命令
android create avd -n NameOfEmualtor -t 6 --abi default/armeabi-v7a
NameOfEmulator 可以自己定義,就是模擬器名字,-t 后面是編譯目標的 ID ,--abi 編譯的abi 列出的target里有顯示。
接下來會提示你創建profile,可以先忽略
3.拷貝系統鏡像
第二步執行完成之后,在你的用戶目錄下 .android/avd 文件夾下會生成一個 剛才 模擬器名字.avd 的文件夾。
拷貝所有的鏡像文件到這個文件夾
4. 執行
emulator -avd NameOfEmulator
此時模擬器應該會正常啟動,並且在AVD Manager 也可以使用你的自定義模擬器。