Android абстрагирует архитектуру устройства?

Я новичок в программировании Android, я читал ответы на этот вопрос Почему приложение Android не должно быть написано на C / C ++, потому что вы "просто предпочитаю программировать на C / C ++"?
в первом ответе Devunwired. он упомянул, что «ваш родной код должен быть встроен в файлы .so (один для armv5, armv7 и x86) все упаковано в один и тот же APK. Такое дублирование исполняемого кода делает ваше приложение в 3 раза больше (т.е. «толстым двоичным файлом»), если только вы не взяли на себя задачу: создание отдельных APK для каждой архитектуры когда вы распространяете приложение

У меня вопрос, я всегда думал, что операционные системы в целом обеспечивают абстракцию над базовой архитектурой. Поэтому, если я хочу развернуть программу на языке c / c ++ в разных средах, мне нужно перекомпилировать исходный код с использованием компилятора, написанного для разных операционных систем, однако эта операционная система может иметь разные версии, которые поддерживают другую архитектуру.
Если я прав, то почему дело обстоит иначе, когда речь заходит об Android?

3

Решение

В какой-то момент операционная система передает код процессору. Двоичный файл должен иметь инструкции для этого конкретного процессора. Благодаря Java каждая ОС и ЦП делает доступной одну и ту же виртуальную машину, поэтому у вас не будет одинаковых соображений.

4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector