Android как он внутри
Модераторы: Olej, adminn, vikos
Правила форума
Все сообщения не по теме форума будут, без каких либо уведомлений, удаляться, а их авторы - убираться из регистрации.
Язык сообщений - исключительно русский.
Все сообщения не по теме форума будут, без каких либо уведомлений, удаляться, а их авторы - убираться из регистрации.
Язык сообщений - исключительно русский.
Re: Android как он внутри
Всю инфу о запуске можно увидеть, запустив emulator -help
Для MIPS я кладу kernel-qemu ramdisk.img system.img userdata.img рядом с эмулятором и задаю
emulator -kernel kernel-qemu -system system.img -data userdata.img -ramdisk ramdisk.img
kernel можно не задавать (по умолчанию берет такое имя) и тоже c ramdisk
Из полезных ключей -shell (можно рулить Линуксом в Андроиде из Линукса/Винды)
-show-kernel - протокол загрузки ядра
Для MIPS я кладу kernel-qemu ramdisk.img system.img userdata.img рядом с эмулятором и задаю
emulator -kernel kernel-qemu -system system.img -data userdata.img -ramdisk ramdisk.img
kernel можно не задавать (по умолчанию берет такое имя) и тоже c ramdisk
Из полезных ключей -shell (можно рулить Линуксом в Андроиде из Линукса/Винды)
-show-kernel - протокол загрузки ядра
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Android как он внутри
Это из состава SDK Android обсуждается emulator, что ли?tundra37 писал(а):Всю инфу о запуске можно увидеть, запустив emulator -help
Который из каталога ~/android-sdk-linux_x86/tools ?
Re: Android как он внутри
А в чем разница? Ключи у них одинаковые в основном. Я сейчас как раз пытаюсь понять. Я ищу средства для отладки ядра и приложений на(и для) реальной железке. Можно использовать adb, а я хочу попробовать qemu из SDK. В моем плеере Андроид 2.2 и поэтому сначала хочу работать с ним. В SDK c сайта Андроид нет ничего под MIPS. Я скачал SDK c developer.mips.com (ссылка легко ищется, если надо - найду). Там плюс к SDK для 86 и ARM, есть материалы для MIPS. SDK было два - в первом было ядро для Андроид 3, но пакет был сырой и тормозной и быстренько выложили другой, только под Андроид 4. В SDK-manager можно накачать кое-что для 2.2 но там ядро маленькое - фиг знает для чего оно. Там еще можно скачать Source SDK, но оно тоже только для Андроид 4 и что там - я не знаю. А вот поиски по "Android on QEMU" привели к инфе и ссылкам по git для всех SDK.Olej писал(а):Это из состава SDK Android обсуждается emulator, что ли?tundra37 писал(а):Всю инфу о запуске можно увидеть, запустив emulator -help
Который из каталога ~/android-sdk-linux_x86/tools ?
Т.е. теперь я могу собирать эмулятор и начинку виртуального устройства из исходников. Экспериментируя со скриптом построения, обнаружил что можно еще делать make sdk
Что это такое, пока не выяснял - придется ждать минут 20 и делает clean
И какая-то чехарда с форматами ядра - для 4.0(SDK для MIPS) это elf на 37 Мб и есть куча мелких - там формат странный(с распаковщиком или загрузчиком). В пакете с исходником ядро в "странном" формате, но не упаковано. Есть там и мелкие ядра и даже vmlinux в папке prebuilt - там и арм и мипс.
Короче масса вопросов.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Android как он внутри
Давайте чуть помедленее ... а то разобраться точно не получитсяtundra37 писал(а):А в чем разница? Ключи у них одинаковые в основном. Я сейчас как раз пытаюсь понять.Olej писал(а):Это из состава SDK Android обсуждается emulator, что ли?tundra37 писал(а):Всю инфу о запуске можно увидеть, запустив emulator -help
Который из каталога ~/android-sdk-linux_x86/tools ?
Разница между чем и чем?
В этой теме ни про какой пакет разработки ещё не говорилось, поэтому трудно понять разница с чем?
Основной (официальный) SDK Android, который берётся с http://developer.android.com/sdk/index.html
В официальном SDK можно установить и создать среду для любой версии Android, не только начиная с 2, но даже с 1.5.tundra37 писал(а): SDK было два - в первом было ядро для Андроид 3, но пакет был сырой и тормозной и быстренько выложили другой, только под Андроид 4. В SDK-manager можно накачать кое-что для 2.2 но там ядро маленькое - фиг знает для чего оно. Там еще можно скачать Source SDK, но оно тоже только для Андроид 4 и что там - я не знаю.
Да, там:
- эмуляторы (для выполнения в x86 Linux) только для платформ ARM и x86 ...
- ля MIPS там нет
- эмуляторы эти являются модификациями QEMU (они это и сами не раз пишут)
- запустить его командой, типа вами приводимой, можно:
Код: Выделить всё
emulator -kernel kernel-qemu -system system.img -data userdata.img -ramdisk ramdisk.img
Код: Выделить всё
qemu -kernel kernel-qemu -system system.img -data userdata.img -ramdisk ramdisk.img
- т.е. это не "чистый" QEMU
Если что-то кого-то куда-то привело "к ссылке", то для обсуждений нужно сначала показывать ссылку - чтобы был хоть какой-то предмет обсуждения.tundra37 писал(а): А вот поиски по "Android on QEMU" привели к инфе и ссылкам по git для всех SDK.
Т.е. теперь я могу собирать эмулятор и начинку виртуального устройства из исходников.
Re: Android как он внутри
Ну попробую упорядочить. Кстати, я только сейчас начал понимать "кухню" этих средств разработки.
1) android-sdk_r18-windows "Официальный" SDK для разработки приложений и их отладки на виртуальном устройстве.
Его они(гугл или ?) называют на этом же сайте как :
If you are new to Android, download the SDK Starter Package first.
В него можно через SDK manger добавлять пакеты, в т.ч. и исходники SDK.
Прямо сейчас выясняю, что
By default, Available Packages displays packages available from the Android Repository and Third party Add-ons. You can add other sites that host their own Android SDK add-ons, then download the SDK add-ons from those sites.
Так как тут нет эмулятора под MIPS, то этот SDK мне не интересен, хотя могу его скачать и заглянуть внутрь, если это нужно.
2) Поиски меня привели сюда: http://developer.mips.com/android/download-android-sdk/
Сейчас там дают http://********.edgecastcdn.net/001982/Android/android-sdk-r12m-r17m-windows.zip
Я скачивал android-sdk-r16m-windows.zip ( и промелькнул android-sdk-r12m-windows.zip).
В чем отличия. По байтам не сравнивал с 1), но главное - есть пункты и для АРМ и для МИПС.
Замечу, что скачивал в марте. Как видим уже новая версия и 12-ю вставили тоже.
На работе на столе у меня хилый пень-4 и на нем не поработаешь. Поэтому решил уйти в Линукс, т.к. на работе есть сервера, которые иногда проставивают. Попутно искал дополнительную инфу, т.к. хотелось нормальной эмуляции, а не "слепой" GUI/
3) И нашел : http://developer.mips.com/android/andro ... ing-guide/
http://developer.mips.com/android/android-source-code/
Искал я QEMU для Андроида, а нашел больше. Вообще-то многое на этих страницах для меня китайская грамота, но я преодолел языковой барьер и скачал исходники(сам не зная чего) из git-репозитария. Потом пытался это собрать под Виндой в cygwin, а потом сделал это в Линуксе. Результат с одной стороны потрясающий, а с другой стороны я пока как дикарь стреляющий из автомата Прыгаю от радости, а толку мало. Резюме: грубо говоря я нашел источник для скачки SDK для SDK Андроида. Официально это называется вроде исходники Андроида. Но там где их дают, нет исходников под MIPS. А здесь есть тулчейны и для АРМ и для х86 и даже sh(уж не помню кто это). Но папка для вывода одна - out и там нет указания на платформу.
Жду вопросы.
1) android-sdk_r18-windows "Официальный" SDK для разработки приложений и их отладки на виртуальном устройстве.
Его они(гугл или ?) называют на этом же сайте как :
If you are new to Android, download the SDK Starter Package first.
В него можно через SDK manger добавлять пакеты, в т.ч. и исходники SDK.
Прямо сейчас выясняю, что
By default, Available Packages displays packages available from the Android Repository and Third party Add-ons. You can add other sites that host their own Android SDK add-ons, then download the SDK add-ons from those sites.
Так как тут нет эмулятора под MIPS, то этот SDK мне не интересен, хотя могу его скачать и заглянуть внутрь, если это нужно.
2) Поиски меня привели сюда: http://developer.mips.com/android/download-android-sdk/
Сейчас там дают http://********.edgecastcdn.net/001982/Android/android-sdk-r12m-r17m-windows.zip
Я скачивал android-sdk-r16m-windows.zip ( и промелькнул android-sdk-r12m-windows.zip).
В чем отличия. По байтам не сравнивал с 1), но главное - есть пункты и для АРМ и для МИПС.
Замечу, что скачивал в марте. Как видим уже новая версия и 12-ю вставили тоже.
На работе на столе у меня хилый пень-4 и на нем не поработаешь. Поэтому решил уйти в Линукс, т.к. на работе есть сервера, которые иногда проставивают. Попутно искал дополнительную инфу, т.к. хотелось нормальной эмуляции, а не "слепой" GUI/
3) И нашел : http://developer.mips.com/android/andro ... ing-guide/
http://developer.mips.com/android/android-source-code/
Искал я QEMU для Андроида, а нашел больше. Вообще-то многое на этих страницах для меня китайская грамота, но я преодолел языковой барьер и скачал исходники(сам не зная чего) из git-репозитария. Потом пытался это собрать под Виндой в cygwin, а потом сделал это в Линуксе. Результат с одной стороны потрясающий, а с другой стороны я пока как дикарь стреляющий из автомата Прыгаю от радости, а толку мало. Резюме: грубо говоря я нашел источник для скачки SDK для SDK Андроида. Официально это называется вроде исходники Андроида. Но там где их дают, нет исходников под MIPS. А здесь есть тулчейны и для АРМ и для х86 и даже sh(уж не помню кто это). Но папка для вывода одна - out и там нет указания на платформу.
Жду вопросы.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Android как он внутри
- это и есть тот SDK о котором я говорил выше:tundra37 писал(а): 1) android-sdk_r18-windows "Официальный" SDK для разработки приложений и их отладки на виртуальном устройстве.
Код: Выделить всё
[olej@nvidia android-sdk-linux_x86]$ pwd
/home/olej/android-sdk-linux_x86
- MIPS непосредственно там нет ... ну и что?tundra37 писал(а): Так как тут нет эмулятора под MIPS, то этот SDK мне не интересен, хотя могу его скачать и заглянуть внутрь, если это нужно.
- там, зато, богатый и свежий пакет, там много инструментария:
Код: Выделить всё
[olej@nvidia tools]$ pwd
/home/olej/android-sdk-linux_x86/tools
[olej@nvidia tools]$ ls
adb_has_moved.txt ddms emulator-arm hprof-conv monkeyrunner sqlite3
android dmtracedump emulator-x86 layoutopt NOTICE.txt traceview
ant draw9patch etc1tool lib proguard zipalign
apkbuilder emulator hierarchyviewer mksdcard source.properties
Код: Выделить всё
[olej@nvidia platform-tools]$ pwd
/home/olej/android-sdk-linux_x86/platform-tools
[olej@nvidia platform-tools]$ ls
aapt aidl dexdump fastboot llvm-rs-cc renderscript
adb api dx lib NOTICE.txt source.properties
Я не знаю как это в MIPS-клоне, но не верю, что они там хоть что существенно доделали, но в оригинальном SDK можно устанавливать любую версию, а потом тут же обновится до любой, хоть вверх хоть вниз.tundra37 писал(а): 2) Поиски меня привели сюда: http://developer.mips.com/android/download-android-sdk/
Сейчас там дают http://********.edgecastcdn.net/001982/Android/android-sdk-r12m-r17m-windows.zip
Я скачивал android-sdk-r16m-windows.zip ( и промелькнул android-sdk-r12m-windows.zip).
В чем отличия. По байтам не сравнивал с 1), но главное - есть пункты и для АРМ и для МИПС.
Но ещё приятнее, что можно иметь одновременно несколько установленных (обновлённых) версий (у меня: 2.1 и 4.0, на другом рабочем компьютере - пусть вас не вводит в заблуждение картинка, 2.1 - это под мой железный планшет), и по ходу дела переходить в ту, которая сейчас нужна для работы.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Android как он внутри
В их Tools (меню Manage AVSs) вы в окне Android Virtual Device Manager можете понаделать сколько вам нужно разных виртуальных машин Android, а потом на выбор использовать ту, что надо: Виртуальные машины Android могут отличатся платформами, версиями Android, настройками для одной и той же версии (например, с SD картой и без неё).Olej писал(а):Но ещё приятнее, что можно иметь одновременно несколько установленных (обновлённых) версий (у меня: 2.1 и 4.0, на другом рабочем компьютере - пусть вас не вводит в заблуждение картинка, 2.1 - это под мой железный планшет), и по ходу дела переходить в ту, которая сейчас нужна для работы.
Сами файлы для эмуляторов (образы системные, картинки экранов, ...) для установленных версий-платформ находятся здесь:
Код: Выделить всё
[olej@nvidia platforms]$ pwd
/home/olej/android-sdk-linux_x86/platforms
[olej@nvidia platforms]$ ls
android-14 android-15 android-7
[olej@nvidia platforms]$ tree android-7/images
android-7/images
|-- hardware-qemu.ini
|-- hardware-qemu.ini.lock
|-- kernel-qemu
|-- NOTICE.txt
|-- ramdisk.img
|-- system.img
|-- system.img.lock
`-- userdata.img
0 directories, 8 files
Код: Выделить всё
[olej@nvidia avd]$ ls -l ~/.android/avd
итого 24
drwxrwxr-x. 2 olej olej 4096 нояб. 18 2011 1.avd
-rw-rw-r--. 1 olej olej 53 нояб. 17 2011 1.ini
drwxrwxr-x. 2 olej olej 4096 апр. 17 00:32 2.avd
-rw-rw-r--. 1 olej olej 52 нояб. 17 2011 2.ini
drwxrwxr-x. 2 olej olej 4096 нояб. 23 2011 a4.avd
-rw-rw-r--. 1 olej olej 54 нояб. 23 2011 a4.ini
Код: Выделить всё
[olej@nvidia avd]$ ls -l ~/.android/avd/2.avd
итого 140088
-rw-------. 1 olej olej 8412 апр. 16 22:08 cache.img
-rw-rw-r--. 1 olej olej 203 нояб. 17 2011 config.ini
-rw-rw-r--. 1 olej olej 49 апр. 17 00:32 emulator-user.ini
-rw-rw-r--. 1 olej olej 1706 апр. 16 22:08 hardware-qemu.ini
-rw-rw-r--. 1 olej olej 104857600 апр. 16 22:09 sdcard.img
-rw-rw-r--. 1 olej olej 2401344 нояб. 17 2011 userdata.img
-rw-------. 1 olej olej 36159516 апр. 17 00:08 userdata-qemu.img
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Android как он внутри
Olej писал(а): Сами файлы для эмуляторов (образы системные, картинки экранов, ...) для установленных версий-платформ находятся здесь:
И вот для меня так и остался загадкой вопрос: как эмулятор (клон QEMU) совмещает воедино :Olej писал(а): Но сами созданные вами AVD находятся в совсем другом месте - в домашнем каталоге, независимо от места установки SDK:
- из каталога в SDK : platforms/android-7
- файлы-образы: kernel-qemu + ramdisk.img + system.img
- с файлами-образами: cache.img + sdcard.img + userdata.img и т.п.
- ... из домашнего каталога ~/.android/avd/2.avd (каталог AVD)
- и куда приткнуть файл hardware-qemu.ini из каталога этой AVD
Т.е. с какими параметрами можно было бы запустить один из эмуляторов QEMU:
Код: Выделить всё
[olej@nvidia iso]$ ls /usr/bin/qemu*
/usr/bin/qemu /usr/bin/qemu-io /usr/bin/qemu-sh4 /usr/bin/qemu-system-mips64el
/usr/bin/qemu-alpha /usr/bin/qemu-kvm /usr/bin/qemu-sh4eb /usr/bin/qemu-system-mipsel
/usr/bin/qemu-arm /usr/bin/qemu-launcher /usr/bin/qemu-system-arm /usr/bin/qemu-system-sh4
/usr/bin/qemu-armeb /usr/bin/qemu-m68k /usr/bin/qemu-system-cris /usr/bin/qemu-system-sh4eb
/usr/bin/qemu-cris /usr/bin/qemu-mips /usr/bin/qemu-system-m68k /usr/bin/qemu-system-x86_64
/usr/bin/qemu-i386 /usr/bin/qemu-mipsel /usr/bin/qemu-system-mips /usr/bin/qemu-x86_64
/usr/bin/qemu-img /usr/bin/qemu-nbd /usr/bin/qemu-system-mips64
Re: Android как он внутри
Официальный SDK и SDK для MIPS я ставил только в Винде, т.ч. инструментов типа draw9patch там нет, с avd я игрался тоже. А вот в git-исходниках у меня инструментов еще больше и они "свеженькие" прямо из исходников сделанные.
Как совмещает эмулятор разные конфиги - не знаю. У меня пока такой проблемы не было. У эмулятора есть ключ -avd
В Винде у меня два устройства ( можно смотреть через android.bat list avd) : Андроид 4.0.3 на АРМ и на МИПС.
Смотреть конечно приложения можно на эмуляторе на АРМ, но увы - те что не идут на МИПС, не идут из-за нативных библиотек. Т.ч. без вариантов - нужен родной эмулятор.
Хелп-то посмотрите:
-cache <file> cache partition image (default is temporary file)
-sdcard <file> SD card image (default <system>/sdcard.img ) Это в Винде
Нельзя запустить обычный QEMU - он не эмулирует железо. Эмулятор из SDK эмулирует "палец" - мышкой можно таскать экран и ,например, "замок открыть". Более того, судя по хелпу эмулятор это надстройка над QEMU, т.к. есть ключ -qemu для передачи его параметров. Правда оно не работает. Я же говорю - я нашел исходники именно эмулятора, хотя по структуре они очень похожи на исходники qemu.
Кстати именно на developer.mips.com есть упоминание про перенос на другой SOC. Хотя может они имели ввиду именно мипсовые чипы.
Сосветив исходники QEMU и эмулятора можно попытаться "перенести" на другую платформу. Кстати эмулятор для хитрого железа: проц. АРМ или МИПС, а "плата goldfish. Я это словечко отыскал в каком-то месте у своего плеера. Типа его прошивку можно отлаживать в эмуляторе. Именно поэтому я искал QEMU с Андроидом. У меня вопрос : а ваша задача какая по Андроиду?
Как совмещает эмулятор разные конфиги - не знаю. У меня пока такой проблемы не было. У эмулятора есть ключ -avd
В Винде у меня два устройства ( можно смотреть через android.bat list avd) : Андроид 4.0.3 на АРМ и на МИПС.
Смотреть конечно приложения можно на эмуляторе на АРМ, но увы - те что не идут на МИПС, не идут из-за нативных библиотек. Т.ч. без вариантов - нужен родной эмулятор.
Хелп-то посмотрите:
-cache <file> cache partition image (default is temporary file)
-sdcard <file> SD card image (default <system>/sdcard.img ) Это в Винде
Нельзя запустить обычный QEMU - он не эмулирует железо. Эмулятор из SDK эмулирует "палец" - мышкой можно таскать экран и ,например, "замок открыть". Более того, судя по хелпу эмулятор это надстройка над QEMU, т.к. есть ключ -qemu для передачи его параметров. Правда оно не работает. Я же говорю - я нашел исходники именно эмулятора, хотя по структуре они очень похожи на исходники qemu.
Кстати именно на developer.mips.com есть упоминание про перенос на другой SOC. Хотя может они имели ввиду именно мипсовые чипы.
Сосветив исходники QEMU и эмулятора можно попытаться "перенести" на другую платформу. Кстати эмулятор для хитрого железа: проц. АРМ или МИПС, а "плата goldfish. Я это словечко отыскал в каком-то месте у своего плеера. Типа его прошивку можно отлаживать в эмуляторе. Именно поэтому я искал QEMU с Андроидом. У меня вопрос : а ваша задача какая по Андроиду?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Android как он внутри
Разобратьсяtundra37 писал(а):У меня вопрос : а ваша задача какая по Андроиду?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость