Desktop environment для android

Как включить скрытый настольный режим в Android

Вычислительная мощность современных смартфонов давно приблизилась к компьютерам трёх-пятилетней давности, чем компании очень охотно бравируют на каждой презентации. Другое дело, что сценариев использования такой производительности пока не слишком много. Как правило, вендоры приводят в пример возможность съёмки и монтажа видео в формате 4K, работу с дополненной реальностью и, конечно же, игры. Однако Google решила, что смартфоны вполне годятся для того, чтобы использовать их в качестве альтернативы персональным компьютерам, а потому добавила в Android 10 специальный десктопный режим. Правда, почему-то забыла нарисовать для него собственный интерфейс.

В Android есть скрытый десктопный режим

Читайте также: Google неожиданно выпустила Android 10 для телевизоров

Разработчик Дэниел Блэндфорд спроектировал собственный лаунчер для десктопного режима Android 10 под названием Flow Desktop Launcher (скачать). Это первый инструмент, который не просто активирует настольный режим, но и обеспечивает её всеми интерфейсными элементами. Благодаря ему можно подсоединять совместимый смартфон к монитору и, запустив Flow Desktop Launcher, использовать образовавшуюся сборку в качестве более-менее полноценного компьютера. В этом режиме у пользователя появится возможность запускать все приложения, которые установлены на смартфон, но при этом взаимодействовать с ними при помощи клавиатуры или мыши.

Как включить десктопный режим в Android 10

Flow Desktop — лаунчер, который активирует десктопный режим в Android 10

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

Читайте также: Я обновился до Android 10. Что изменилось

Несмотря на это, Google пропустила Flow Desktop Launcher в Google Play, дав независимому разработчику возможность активировать десктопный режим. Для его активации не потребуется получения рут-прав или других сколь-нибудь сложных манипуляций. Будет достаточно просто установить приложение, активировать режим разработчика, а затем включить функции Freeform Windows и Experimental Desktop Mode. После этого можно будет подключить смартфон к периферийным устройствам, чтобы взаимодействовать с интерфейсом, и пользоваться импровизированным компьютером.

Как превратить Android-смартфон в компьютер

По словам разработчика, Flow Desktop Launcher пока находится в тестовом режиме, а потому его стабильная работа не гарантируется на подавляющем большинстве устройств. Единственные смартфоны, под которые лаунчер адаптировался изначально, — это OnePlus 7T Pro, Essential Phone и те модели Samsung Galaxy, которые по умолчанию поддерживают режим DeX. Впрочем, это не значит, что на других аппаратах Flow Launcher работать не будет. Просто при использовании устройств других брендов могут возникать различные неполадки, препятствующие комфортной работе.

Читайте также: Функции Android 10, которые мы так и не увидели

Внедрив в Android 10 десктопный режим, Google, по сути, дала добро на превращение смартфонов в компьютеры, признав их производительность. Даже если по умолчанию он будет реализован не слишком хорошо, производители усилиями своих разработчиков смогут сделать собственные, более продвинутые и совершенные версии режима. Правда, теперь осталось выяснить, когда режим будет окончательно готов. Ведь если Google не выпустит его вместе с Android 11, это будет серьёзное упущение и шанс для конкурентов представить что-нибудь своё.

Источник

Android/Environment

In the following, we explain how to setup a build environment on a Linux system to be able to compile Qt and in particular KF5-based application for Android.

Prerequisites / Setup of Cross-Compiling Build System

At first we prepare your system with all necessary packages to build your application for Android. For this tutorial we assume that everything is done in the folder /opt/android/ (you can adapt the tutorial accordingly when using another folder).

  1. Some 32 bit system libraries are required for the host system (because some tools are 32 bit):
    • libgcc, zlib, libc
      • installing on Debian based system:
      • dpkg —add-architecture i386
      • apt-get install zlib1g:i386 libgcc1:i386 libc6:i386
  2. Extra-CMake-Modules
    • we require at least version >= 5.15 due to https://git.reviewboard.kde.org/r/125183
    • you can also use a smaller version >= 1.7.0 if applying this change directly to your cmake files
  3. Android SDK
    • Download: http://developer.android.com/sdk/index.html to /opt/android/
    • Unpack, run «tools/android update sdk» and select the following packages:
      • Android SDK Tools (24.3.4)
      • Android SDK Platform-tools (23.0.1)
      • Android SDK Build-tools (22.0.1)
      • Android 5.1.1 (API 22): SDK Platform (only «SDK Platform» needed, i.e. no docs, samples or sources)
      • sys-img-armeabi-v7a-android-22 (required for emulator and unit tests)
    • result: now the SDK should be installed in /opt/android/android-sdk-linux
  4. Android NDK
    • Download: https://developer.android.com/ndk/index.html to /opt/android/
    • unpack the package (see the instructions on the download page)
    • result: now the NDK should be installed in /opt/android/android-ndk-r10e
  5. Qt with support for Android devices
    • Download the Qt 5.5.0 for Android: https://www.qt.io/download-open-source/#section-2 (32-bit or 64-bit as it fits your host system; usually 64-bit)
    • Variant 1: Offline Installers («Skip» can be used without problem when asked to register an account)
    • Variant 2: Online installer («Skip» can be used without problem when asked to register an account)
    • install the following components to /opt/android/Qt5.5.0:
      • Android armv7
      • Qt Creator 3.4.2 (cannot be disabled, some of its tools are used from other parts)
      • Recommended components:
        • Qt Quick Controls
        • Qt Location
        • Qt Script
        • Optional components (there might be KDE software using it):
        • Qt WebEngine
        • Qt Canvas 3D
        • Qt3D
        • Qt Quick 1
  6. Install the following software packages on your host system from your package manager (if not yet installed):
    • CMake: >= 2.8.6
    • Java Development Kit 7 (openjdk-7-jdk)
    • Ant
Читайте также:  Ярлык для почты андроид

Environment Variables

The build environment is the name for the shell in that the application is build. The shell is prepared by exporting a series of environment variables that then are picked up by the build scripts.

Источник

4 Amazing Desktop Environments For Android

It’s come a long way, baby

Android is an operating system that’s come a long way since its first limping steps on early devices, but it still lacks a proper desktop environment. In other words, if you plug your powerful smartphone into a large screen, you still get a phone interface. Simply blown up to epic proportions.

There have been some attempts at creating a good desktop environment for Android phones. Samsung leads the way here with DeX. It’s exclusive to specific Samsung phones, but transforms your device into a full-fledged desktop machine when you plug it into a large monitor, DeX station or (in some models) another computer using the DeX desktop app.

Leena Desktop UI

Right now, Leena Desktop UI is still in beta form, but it already looks incredibly promising. Leena is in fact just an Android app, but it’s been cleverly written to provide you with much of the core functionality you’d get from a real desktop UI for your phone.

The downside of Leena is that you can’t launch other apps and then run them within it. Instead you have to use the built in sub-apps. The upside of Leena is that you don’t have to root or otherwise modify your phone to use it. Simply download it as a regular app and use it.

There’s a paid “pro” version of the software as well that adds more functionality, but for most people the basic free beta will already provide a quick way to move into a more comfortable workspace.

Sentio Desktop

Sentio Desktop offers a more feature-rich product than Leena at this point, but the company has gone beyond simply offering a desktop environment for Android. They also sell hardware that combines with the app to really turn your phone into a laptop.

It’s called the Superbook and is basically a laptop with all the computer guts stripped out. Your phone mounts on the side of the Superbook and the app runs on the main screen. It’s very cool, though perhaps not ready to replace a laptop for most people.

The good news is that you don’t have to buy Sentio hardware to make use of this app. You can simply connect any mouse, keyboard and external monitor to the setup and get the same experience.

Sentio really seems to have thought it through when it comes to which desktop features are really important for day-to-day work. It allows for apps to be resized, resolution changes, multi-window apps and everything you’d generally expect from a Windows or Linux desktop UI,

It also sports a traditional start menu, a taskbar with system tray and a notification center. As a whole, Sentio Desktop seems to be a real competitor to Samsung DeX, just without the hardware restriction. Then again, since Sentio will run on any Android device, stability will inevitably suffer.

Читайте также:  Idoing px5 android 10 настройка

Looking through user reviews it seems that, while it runs perfectly for many, some users get crashes or other niggles on their particular handsets. Not that big a deal if you haven’t invested in the SuperBook hardware, so it is worth trying the app out before considering that.

Sentio is certainly plenty ambitious and if you don’t have a DeX-capable phone, (or even if you do!) it’s certainly worth a try.

AndroNix

While Leena and Sentio offer a desktop front-end for your Android phone, AndroNix goes further by adding an entire extra operating system to your phone. Yes, this app allows you to run a Linux installation on your Android phone. That’s without the need for rooting, but it does take some elbow grease to get it all going.

Andronix is really more a collection of step-wise scripts that you copy into a terminal app. The instructions are clear and there’s plenty of documentation, but they’ve had to work around the limitations of Android here. For example, you access your Linux instance by using VNC, a remote desktop client. It’s a kludge that works just fine, but it’s a kludge nonetheless.

AndroNix does have an amazing community, lots of documentation and developers who really seem to be on the ball with support requests. The paid-for premium version comes with dedicated support as well, which might matter to you if this becomes a mission-critical application.

It is definitely not for everyone, but incredibly impressive nonetheless.

Maru OS

The first thing you should know about Maru OS is that it only works on a very small number of devices right now. These aren’t even particularly popular phone models, so chances are you don’t have one of these. However, Maru is worth bookmarking and keeping an eye on. It’s a gorgeous, lightweight operating system for smartphones.

Yes, MaruOS actually replaces the entire operating system, it isn’t an OS within and OS or simply an app with a desktop UI. It’s based on Android Oreo and seamlessly shifts from being a mobile OS to being a desktop one.

These are the devices you can load MaruOS on at the time of writing:

  • Nexus 6P (angler)
  • Nexus 5X (bullhead)
  • Nexus 5 (hammerhead)
  • Pixel (Sailfish)
  • Samsung S9+ (star2LTE)

Pay attention to the internal condenames here. For example, “star2LTE” refers to the Exynos-equipped S9+ phones. So not every S9+ will work.

MaruOS represents an extreme approach to getting your phone to work as a desktop, but it might also be the most reliable and elegant way to do it. For most of us, this is just a curiosity right now, but hopefully something like MaruOS will become the norm for all Android devices at some point in the future.

Your Phone Is Your Computer!

With flagship Android phones now packing as much processing power as a typical work laptop, it seems a shame to waste it all on Instagram and Twitter browsing. With these apps you can put that grunt to good use and perhaps even leave that laptop at home as you move from one monitor to the next.

Even if you only ever use the desktop option in a pinch, it’s never a bad thing to have options!

Sydney Butler is a social scientist and technology fanatic who tries to understand how people and technology coexist. He has two decades of experience as a freelance computer technician and more than a decade as a technologies researcher and instructor. Sydney has been a professional technology writer for more than five years and covers topics such as VR, Gaming, Cyber security and Transhumanism. Read Sydney’s Full Bio

Источник

Android Environments

Предисловие

Из далекого 2012, на просторах Хабра мне запомнился коммент:

Топик далеко не про хардварную составляющую. Разбирая свою проблему, я убедился в верности сия суждения и постарался навести порядок на своей пыльной полке.

Недавно ко мне обратился заказчик, который попросил добавить в его проект поддержку нескольких сервисов. Задача заключалась в том, что мне нужно было подключить сервис «А» и перед выкладкой приложения в продакшн, обкатать этот сервис на тестовом окружении. Я решил проанализировать свои предыдущие решения и… ужаснулся.

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

Читайте также:  Смарт часы для android phone

Проблема

Google дает нам возможность пробрасывать кастомные значения для каждой
сборки.

После анализа build.gradle скрипта, android tools заберет все значения buildConfigFileds из buildTypes и productFlavors и сгенерирует BuildConfig файлы для каждого типа сборок:

Никакой проблемы, на первый взгляд. Особенно, когда в вашем приложении не столь много флейворов и кастомных значений. В моем проекте их было >20 и 3 окружения (internal/alpha/production). Очевидно, что проблема для меня была одна — избавиться от бойлерплейта.

Не менее важная проблема — значения перменных окружения не должны быть отражены в вашем проекте. Даже в конфигурационном файле. Вы обязаны затрекать через VCS ваш build.gradle конфиг. Но вы не должны прописывать ваши ключи напрямую, для этого, вам необходим сторонний механизм(например файл, сервисы вашего CI). В моей практике было несколько проектов, где для release production сборки у меня не было доступа к значениям некоторых библиотек. Это уже проблема бизнеса и в его интересах не делать лишних затрат. Вы не должны использовать ключи предназначенные для продакшена во время отладки или внутреннего тестирования.

Способ решения проблемы

В одном из старых проектов, для хранения значений переменных окружения, мы использовали простые .properties файлы, которые предоставляли доступ к полям через классический key:value map. Проблему биндинга данный подход не решает. Но он решает проблему поставки данных, который следует применить. Кроме того, мы можем взять за основу .properties файлы как определенного рода контракт предоставления данных.

Если вернуться чуть назад, у нас есть промежуточный этап: из buildConfigField в поле класса BuildConfig. Но кто же это делает? Все довольно банально, за это отвечает gradle plugin который вы подключаете абсолютно во всех проектах Android.

Именно он отвечает за то, что после анализа вашего build.gradle файла будет сгенерирован класс BuildConfig для каждого флейвора со своим набором полей. Таким образом, я могу написать свое лекраство, которое расширит возможности com.android.application и избавит
меня от этой головной боли.

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

Решение

Выше мы разобрались со структурой решения, осталось дело за малым — воплотить все это в жизнь. Казалось бы, тривиальное решение и проблему можно решить простым расширением билд файла. Изначально, я так и поступил.

А вот тут сразу же возникли те трудности, о которых я и не задумывался — пыльная полка.Я решил «продать» свое реше коллегам. Я подготовил доку, пнул дело на обсуждение и… Понял, что все мы люди, а программисты — это ленивые люди. Никому не хочется вставлять неизвестный ему участок кода в проект, его же по хорошему нужно изучить, прочитать? А вдруг он нерабочий? А вдруг он делает еще что-то не так? Это же груви, а я его не знаю и непонятно как с ним работать. А уже давно переехал на котлин скрипт, а портировать с груви я не умею и проч.

Самое интересное, что все эти суждения уже исходили от меня, т.к. я понял, что меня такая интеграция решения не устраивает. Плюс, я заметил несколько моментов, которые мне бы очень хотелось бы улучшить. Внедрив решение в проект А, мне бы хотелось бы его поддержать в проекте Б. Выход один — надо писать плагин.

А какие же проблемы решит плагин и его удаленная поставка пользователю?

  • проблему ленивого програмиста. Нам лень углубляться в корень проблемы и возможные способы его решения. Нам куда проще взять что-то, что былоуже сделано до тебя и использовать это.
  • поддержка. Она включает в себя поддержку кода, его развитие и расшириения возможностей. При решении своей проблемы, я решал только проброспеременных окружения только лишь в код, совсем позабыв о возможности проброса в ресурсы.
  • качество кода. Бытует такое мнение, что некоторые разработчики даже не смотрят на open source код, который не покрыт тестами. На дворе 2019 и мы с легкостью можем подключить себе сервисы для отслеживания качества кода https://sonarcloud.io либо https://codecov.io/
  • конфигурация. Расширение билд файла заставляет меня изучить этот код и внести изменения вручную. В моем случае — мне не всегда нужно использовать конфигурацию для buildTypes либо productFlavors, хочу что-то одно или все сразу.
  • уборка пыльной полки. Я наконец-то навел порядок на одной из них и смог это решение по-дальше своей комнатушки.

В подробности и проблемы при написании плагина я вдаваться не буду, тянет на новый топик. Взять решение с его интеграцией, предложить свою идею либо внести свой вклад можно
здесь.

Источник

Оцените статью