Create and Launch Android Virtrual Device via Command
Basic Infomation
- OS: Ubuntu 16.4 LTS
- Android System Image: android_24_armeabi-v7a
Introduction
正常步驟下,會使用Android Studio中的AVD(Android Virtrual Device) Manager管理與啓動Android emulator,
但有時需透過Terminal的方式達到相同的目的,例如自動化沙箱
Creating Android Virtrual Device
- 通過AVD Manager下載system image
- 此步驟與使用AVD Manager創建emulator無異,一方面無法取得Google repo的system image的下載位置,另一方面是需要下載後的資料夾結構,所以直接使用AVD Manager下載system image,是最方便的做法
- 使用avdmanager建立emulator1234567891011121314android@android-pc:~$ cd Android/Sdkandroid@android-pc:~/Android/Sdk$ cd tools/binandroid@android-pc:~/Android/Sdk/tools/bin$ ./avdmanager create avd -n android_24_v7a -k ""Error: Package path is not valid. Valid system image paths are:ository...system-images;android-24;default;armeabi-v7anullandroid@android-pc:~/Android/Sdk/tools/bin$ ./avdmanager create avd -n android_24_v7a -k "system-images;android-24;default;armeabi-v7a"android@android-pc:~/Android/Sdk/tools/bin$ ./avdmanager list avdName: android_24_v7aPath: /home/android/.android/avd/android_24_v7a.avdTarget:Based on: Android 7.0 (Nougat) Tag/ABI: default/armeabi-v7a
- Android/Sdk: 爲本電腦的Androd Sdk放置處,此路徑是在Android studio安裝時自動選擇的,若爲自行安裝的Android Sdk,則進入對應的路徑
- tools/bin: 在Android Sdk路徑下的tools/bin,爲avdmanager工具所在
- ./avdmanager:
- -n: Android emulator的名稱
- -k: 若不知道要填什麼,可以先留空,avdmanager會出錯,然後列出可以使用system image
- list avd: 列舉所有的Android emulator,確認emulator創建成功
Launching Android Virtrual Device
|
|
- emulator:
- -list-avds: 列舉可用的AVD
- 第一次啓動時出現so依賴錯誤,故新增下列參數後再次啓動
- -use-system-libs: Use system libstdc++ instead of bundled one
Deleting Android Virtrual Device
|
|
- ./avdmanager:
- -n: Android emulator的名稱
Adb Install Apk Error on AVD
- INSTALL_FAILED_OLDER_SDK
- Apk對安裝平臺的SDK版本做出最低限制
- INSTALL_FAILED_NO_MATCHING_ABIS
- Apk與安裝平臺的架構不同,例如將armeabi-v7a的Apk安裝在x86_64的平臺上
- 所以雖然x86_64的Android emulator快arm很多,但不能安裝Apk就沒有意義了