Загрузка эмулятора после сборки исходного кода - PullRequest
1 голос
/ 22 марта 2012

Я скачал и собрал исходный код Android на основе инструкций, упомянутых здесь: но я не могу запустить эмулятор.Ниже указан мой путь, и мне пришлось вручную добавить путь к эмулятору:

$ echo $PATH
/usr/lib/jvm/java-6-sun/bin:/home/anil_ubuntu/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/s    bin:/usr/bin:/sbin:/bin:/usr/games:/home/anil_ubuntu/androidsrc/out/host/linux-x86/bin:/home/anil_ubuntu/androidsrc/prebuilt/linux-x86/toolchain/arm-linux-androideabi- 4.4.x/bin:/home/anil_ubuntu/androidsrc/development/emulator/qtools:/home/anil_ubuntu/android    src/prebuilt/linux-x86/toolchain/arm-linux-androideabi-   4.4.x/bin:/home/anil_ubuntu/androidsrc/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
anil_ubuntu@work:~/androidsrc$ 

Ответы [ 5 ]

2 голосов
/ 13 августа 2013

Проще, я думаю, как показано ниже:

Просто повторно соберите env сборки, это быстро. Есть два метода:

1) $. build / envsetup.sh && lunch full-eng && emulator

Таким образом, Android будет автоматически искать system.img / userdata.img / ramdisk.img / kernel-qemu и т. Д. Если вам нужно самостоятельно указать system.img / userdata.img и т. Д., Используя метод 2).

2) $. build / envsetup.sh && ланч full-eng && эмулятор -sysdir out / target / product / generic / -system out / target / product / generic / system.img -ramdisk out / target / product / generic / ramdisk.img -data out / target / product / generic / userdata.img - предустановки ядра / qemu-kernel / arm / kernel-qemu-armv7 - память 512

1 голос
/ 04 июля 2012

Вы можете добавить их в ваш .bashrc файл

export ANDROID_PRODUCT_OUT = $ ANDROID_SRC / out / target / product / generic

export ANDROID_BIN = $ANDROID_SRC / out / host / linux-x86 / bin

PATH = $ ANDROID_BIN: $ PATH

1 голос
/ 22 марта 2012

Создайте файл сценария со следующим кодом в корневой папке исходного проекта Android и запустите его после сборки.В моем случае это работает отлично, но, возможно, вам потребуется изменить некоторые параметры:

out/host/linux-x86/bin/emulator -sysdir out/target/product/generic/ -system out/target/product/generic/system.img -ramdisk out/target/product/generic/ramdisk.img -data out/target/product/generic/userdata.img -kernel prebuilt/android-arm/kernel/kernel-qemu -sdcard sdcard.img -skindir sdk/emulator/skins -skin WVGA800 -scale 0.7 -memory 512 -partition-size 1024
0 голосов
/ 30 октября 2014

Старый пост, но проблема в том, что AOSP изменил некоторые вещи (включая расположение предварительно собранного ядра), и когда вы делаете исходную сборку / envsetup.sh, это должно исправить это, но это не так, в любом случае вот как вы это исправляете :

emulator -kernel prebuilt/android-arm/kernel/kernel-qemu-armv7

Я нашел такую ​​ошибку только в версии, меньшей или равной ICS. Мой эмулятор искал

prebuilts/qemu-kernel/arm/kernel-qemu-armv7

и в реальном ядре это было в

prebuilt/android-arm/kernel/kernel-qemu-armv7

Так что, может быть, это может быть полезно для тех, кому нужно создать версию androd_4.0.1, как я, и у нее возникли проблемы при попытке запустить ее с помощью команды emulator .

0 голосов
/ 05 апреля 2012

После нескольких перестроек в Ubuntu 10.04 / 11.10, 32-битной, я наконец смог скомпилировать исходный код (master) на 64-битной 11.10, но я бы сделал следующие изменения:

  1. сборка / ядро ​​/ комбо / HOST_linux-x86.mk + HOST_GLOBAL_CFLAGS + = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE = 0

  2. внешний / mesa3d / SRC / GLSL / linker.cpp + '# include'

  3. external / oprofile / libpp / format_output.h: 94: 22: ошибка: ссылка «count» не может быть объявлена ​​«изменяемой» [-fpermissive] -mutable counts_t & countts; + countts_t & countts

  4. внешний / GTEST / включить / GTEST / внутренний / GTEST-парам-util.h + # включить

  5. внешний / LLVM / llvm-host-build.mk: + "LOCAL_LDLIBS: = -lpthread -ldl"

Я читал на различных форумах, что Google собирается прекратить поддержку 32-битных хостов, поэтому, если вы только начинаете создавать код, используйте 64-битные.

...