Running Android apps on Linux: It's very close, but...

preview_player
Показать описание


👏 SUPPORT THE CHANNEL:
Get access to an exclusive weekly podcast, vote on the next topics I cover, and get your name in the credits:

🏆 FOLLOW ME ELSEWHERE:

📷 GEAR I USE:
*Amazon Links are affiliate codes and generate small commissions to support the channel*

00:00 Intro
00:46 Sponsor: Get some free insight on the Security of Linux
01:49 What is Waydroid, and how to install it?
06:22 How to install applications
08:50 Add Google Apps and Services
11:25 Why run Android apps on Linux?
13:55 Sponsor: Get a Linux laptop or desktop from Slimbook
14:30 Support the channel

💡 USEFUL LINKS FOR WAYDROID

Running Android apps on another system than Android requires a container, like what Waydroid implements. Waydroid is based on LineageOS, based on Android 10, and can access any needed hardware. It can run Android apps on x86 or ARM cpus, it's fully open source, it can add your Android apps to your menu, it can display apps in their own windows or fullscreen, it can display the Android Ui for navigation, and has near native performance.

Waydroid lets you install .APK applications, which you can download online relatively easily, but to begin with, you might want to get an app store, which will make this process a lot simpler. Let's go with F Droid, which has tons of open source applications for Android, that will also work on Waydroid.

waydroid app install and then the path to your APK file, and hit enter.

You'll then have to restart the system service for Waydroid, using

sudo sysctemctl start waydroid-container

Your app should now be added to your applications menu, and you can open it through there. From F-Droid, you can install any application you want, and they'll also get automatically added to your applications menu. Of course, at first install, you'll need to enable installing applications from an untrusted source, like on a "real" android device.

You can also add the Google Apps and the Play Services.

I left a link to the install instructions, it's not an easy, one click install by any means, and you'll have to run multiple command lines, install a few packages on your distro, register your "fake device" with Google, clear the Play Store cache, install magisk and more. Once that's done, though, you do get a fully functional Android system, complete with Google apps, and the Google Play Store. You can login with your Google account, and use Waydroid as a full Android system.

App apps that require the Google Play Services will also work, including youtube, Google Maps, Gmail, and a lot more. You'll also be able to download apps you might already have purchased in the Play Store on an Android device, if you so choose.

I couldn't find certain apps in the Play Store, though, like Netflix for example, which might be a country-related issue. Some apps would also crash at startup, like Amazon prime Video.

Xbox Game Pass worked, I could navigate the UI and launch a game with Xcloud, but after that, games would just not display anything, sticking to a black window, which I had to quit to resume using Waydroid. My banking app also failed with an error message telling me the service wasn't available.

Twitter worked perfectly, Duolingo also did, although in Portrait mode.
Рекомендации по теме
Комментарии
Автор

honestly one of the most frustrating things in the linux community is when asking if something works or how to get something to work being confronted with a "but why would you want to use that?". its a computer, a tool capable of so many different tasks so actually discussing if and how something works is always great to see. thanks for the great videos man!

robotdowning
Автор

Nick, just wanna tell you that Android doesn't use Dalvik anymore since Kitkat (4.4). It has been replaced with Android runtime (ART)

apa
Автор

i used waydroid on my terrible AMD A8 APU with radeon 5 graphics and 3.3GB RAM, and it was actually very good and did run the UI and apps fine af, waydroid is truly amazing

amansetia
Автор

Just installed waydroid a couple minutes ago, what a timely video. Great content as always!

PrecariousPosition
Автор

Streaming apps would never work because of lack of widevine drm support (which those apps use). Even if they could add support, it would probably be only L3 widevine meaning only 480p/540p. L1 widevine for 1080p streaming is extremely unlikely

cerealkiller
Автор

I'd love to see this project take off, imagine a future where your phone runs proper Linux, with a touch friendly UI, with support for all of the support Android phones get

YonatanAvhar
Автор

_Installing an app and crossing your fingers that it is going to work_ - Well, that describes my experience so far with non-native apps on Linux in general

KuruGDI
Автор

Some Comments -
1. 12:18 you don't need to start the service every time you boot your computer, just do "sudo systemctl enable waydroid-container" and it'll start on boot.
2. 12:23 I believe you can setup waydroid with a GAPPS image of android by running the init command with '-s GAPSS' option upon setup. It previously did not work on fedora I believe, but the copr maintainer just updated it to work today so unfortunate timing I guess.
3. Custom images of android don't pass play store's security test and also don't have widevine L1 certification. Media and Banking apps will either not show up in the play store at all or will not work properly as you experience. It is also not trivial to get around that.

naveendukiya
Автор

I think that this would be much better if it was:
1. A flatpak or something
2. In the settings, it has a place to add Google apps/comes with something like F-Droid by default.
Having to open a terminal once means your app has failed at being user friendly imo. The terminal is great, but it should not be the only option to do something. There are exceptions to this, with things like more "pro" user tools, but a simple app/feature should be able to be done with a gui.

TazerXI
Автор

i think people must donate to this project
this is so cool android support must be on linux and if android games worked like windows omg we could get more audiences more software more apps it should bee

lzlxleldorado
Автор

Another comment pointed out that Android doesn't use Dalvik anymore. I also wanted to mention that Dalvik is not a Java virtual machine. Dalvik is a register-based bytecode virtual machine, while Java is stack-based. Dalvik was designed alongside the tool "dx" that converted Java bytecode into Dalvik bytecode.

There has been a lot of a lot of misinformation about Android from the very beginning that it runs on Java or that it runs Java applications, but neither of these is true. You can write software for Android in a Java IDE (though now Kotlin is preferred), but that all gets converted to Dalvik bytecode before it ever touches an Android device. There's no reason why you couldn't write Android software in any other language, assuming the libraries and APIs you needed were ported over and the tools existed to compile it into Dalvik bytecode.

On modern devices ART recompiles the Dalvik bytecode to native CPU binary code during installation, but still having Dalvik in the .apk allows legacy devices to still run your app.

I guess maybe this sounds nitpicky, and I don't mean for it to. It's just that some brilliant engineers went to great effort to build a portable virtual machine designed to run on a variety of hardware and architectures without the bloat of J2SE or the limited feature set of J2ME, and it's a shame that everyone ignores what they accomplished and just calls Android "java-based."

Uejji
Автор

This is a really cool system for running Android apps on the desktop, but you are totally right. The terminal is cool and go a million cool things, but it is something that the average person will shy away from.

A flatpak/snap/appimage version with F-droid preconfigured and the kinks ironed out could be an absolute boon for developers and anyone else that wants to use Android apps on their computers.

mirage
Автор

I tried waydroid on both an amd and intel gpu. Intel was almost perfect while on amd it was prone to stutters and micro freezes. Kinda funny since the latter is probably 10x more powerful.

Neucher
Автор

I have a Microsoft Surface Go 2 running Fedora. This could be amazing for that device! I could have the power of a full blown Linux distribution and the convenience of Android tablet apps all in one.

Woodywoodah
Автор

something I should point out is that waydroid works on pinephone, which is great since it increases the usability of Linux phones by a buttload

EeveeEuphoria
Автор

My use=case for running Android apps on Linux would be to allow the random apps that come with so many gadgets these days, manufacturers seem to think that you don't mind filling up your phone with apps to configure your router, that remote security camera you might use every few months. It seems every bit of hardware, even ones that don't attach to a phone, have an app, and in many cases the app supports options that aren't available through other configuration routes, if there are any.
This system looks promising, so maybe soon it may become a little more useable. It's definitely worth keeping an eye on - although I'd need Nvidia support given all my PC's and laptops have Nvida graphics....!

IanSlothieRolfe
Автор

Some apps won't work on an x86 desktop because they are specifically built for arm / aarch64 architecture, but it should work on a Raspberry Pi.

stephan
Автор

8:50 there is no need to do that long step to install gapps. Waydroid already has a image build with gapps. You just need to modify the init command as follows "sudo waydroid init -s GAPPS -f " and you are good to go. No need to run any extra scrips or blunders. 😉

prabhatmaurya
Автор

"Why would you need a mobile app on a desktop?" is such a wrong mindset. Ideally, there should be an operating system that runs on everything, that will allow you to install same apps across all of your devices, be it mobile/tablet/laptop/desktop. FuchsiaOS is an interesting contender in that direction, its smart and well-designed Flutter-based UI API can make any apps automatically conform to the available screen size on any device. Isolating computing expiriences just because they are "desktop" doesn't make sense, we should strive towards same computing expirience on all devices.

Deniil
Автор

One indirect benefit is accessibility: you can render it larger on a screen with lower resolution.

FrDismasSayreOP