Решил, добавив перед оператором фиктивный символ. Примерно так:
if ( X$argv[1] == "X-d" ).
И да, и нет.
Вы можете запустить https://www.lineageos.org/, чтобы иметь полностью свободную операционную систему. Вам все равно нужен какой-то рынок приложений. Вы можете поставить «gapps» на свой телефон с LineageOS или использоватьhttps://f-droid.org/.
Однако, «думая в духе Debian», это похоже на запуск Linux на ноутбуке в 2001 году, :вам все еще могут понадобиться компоненты с закрытым -исходным кодом для встроенного ПО или аппаратных драйверов.
Необходимо учитывать несколько аспектов...
Да, Android является открытым исходным кодом, по крайней мере, как это предусмотрено Android Open Source Project . Однако, как вы упомянули, все больше и больше функций платформ предоставляются как не -компоненты с открытым исходным кодом, например. в Сервисах Google; это включает в себя несколько основных функций, таких как прокручиваемая клавиатура, и более сложные подсистемы, такие как Android Auto. И ядра большинства телефонов включают проприетарные модули, исходный код которых недоступен...
Да, вы можете собрать собственную версию Android. См., например, инструкции по сборке LineageOS (, найдите там любое поддерживаемое устройство, и вы найдете инструкции по сборке ).
Возможность прошивки сборки на телефон зависит от конкретной модели телефона. Многие телефоны пытаются предотвратить замену своей операционной системы образами, не подписанными производителем; их перепрошивка зависит от того, кто найдет хак. В LineageOS также есть инструкции для поддерживаемых устройств, другие вы найдете на форумах Android.
Результат редко бывает полностью открытым исходным кодом :, как упоминалось выше, ядро обычно включает проприетарные BLOB-объекты, а это означает, что вы часто застреваете на той версии, которую поставил производитель, и обычно имеется несколько частей проприетарной прошивки (. ] включая загрузочную прошивку ).Существуют проекты, которые пытаются решить эту проблему, например Replicant(вариант Android с упором на свободу и безопасность )и postmarketOS(телефон на базе Alpine Linux --. оптимизированный дистрибутив с обратной -инженерной поддержкой удивительного количества оборудования ); оба они предназначены для старых телефонов, поэтому они могут не иметь отношения к вам.
Что касается приложения, F -Droid документирует, как создавать все размещенные приложения .
Таким образом, конечно, можно запустить систему с открытым исходным кодом на многих телефонах, но в подавляющем большинстве случаев это все же компромисс. В частности, история безопасности на телефонах действительно плоха; LineageOS раньше пыталась отслеживать соответствующие CVE на поддерживаемых устройствах, но их тысячи, и они на данный момент остановлены .