Я подготовил среду разработки для Android, используя apache cordova внутри бродячей коробки с Ubuntu 16.04, следуя в основном этому руководству , но используя новейшие инструменты Android SDK (sdkmanager
& avdmanager
).
С помощью sdkmanager я установил следующие пакеты:
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
build-tools;26.0.2 | 26.0.2 | Android SDK Build-Tools 26.0.2 | build-tools/26.0.2/
emulator | 28.0.20 | Android Emulator | emulator/
patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/
platform-tools | 28.0.1 | Android SDK Platform-Tools | platform-tools/
platforms;android-27 | 3 | Android SDK Platform 27 | platforms/android-27/
system-images;android-27;default;x86_64 | 1 | Intel x86 Atom_64 System Image | system-images/android-27/default/x86_64/
tools | 26.1.1 | Android SDK Tools 26.1.1 | tools/
Пока я создаю устройство эмуляции с помощью этой команды avdmanager
avdmanager --verbose create avd --sdcard 2048M --name 'Android-27' -d 1 -k "system-images;android-27;default;x86_64"
Затем при попытке эмулировать приложениевнутри его папки с cordova emulate android
я получил следующую ошибку:
BUILD SUCCESSFUL in 1s
46 actionable tasks: 1 executed, 45 up-to-date
Built the following apk(s):
/home/vagrant/hello/platforms/android/app/build/outputs/apk/debug/app-debug.apk
ANDROID_HOME=/opt/android-sdk-linux
JAVA_HOME=/usr/lib/jvm/java-8-oracle
No emulator specified, defaulting to Android-27
Waiting for emulator to start...
emulator: ERROR: Not enough disk space to run AVD 'Android-27'. Exiting...
Затем попытался ее решить, добавив следующую строку в файл ~/.android/avd/Android-27.avd/config.ini
disk.dataPartition.size=2048MB
, но без каких-либоуспех.
Является ли это бродячей проблемой, которую нужно решить или AVD?
Любая идея или подсказка приветствуется.
РЕДАКТИРОВАТЬ:
Я установил vagrant-diskize и изменил размер диска до 20 ГБ, и ошибка исчезла, но появилась другая: p
emulator: ERROR: x86_64 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: KVM requires a CPU that supports vmx or svm
РЕДАКТИРОВАТЬ 2:
Я наконец обошел это, используя system-images;android-25;android-wear;armeabi-v7a
вместо system-images;android-27;default;x86_64
и теперь, когда запускается эмулятор, кажется, что X11 вылетает и печатает
No emulator specified, defaulting to Android-27
Waiting for emulator to start...
emulator: Requested console port 5584: Inferring adb port 5585.
emulator: WARNING: encryption is off
pulseaudio: pa_context_connect() failed
pulseaudio: Reason: Connection refused
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
X Error of failed request: BadRequest (invalid request code or no such operation)
Major opcode of failed request: 130 (MIT-SHM)
Minor opcode of failed request: 1 (X_ShmAttach)
Serial number of failed request: 14
Current serial number in output stream: 15
Может быть, я должен изменить заголовок сообщения.