Edit: This post was originally written for the ARM-powered laptop. I have since confirmed all the steps work on an Intel/AMD x86_64 one!
I am experimenting with being a Windows user now.
My new ARM ThinkPad X13s is advertised as a “Tablet, but better”. It has GPS and a SIM card slot.
But no good application for maps. The one that comes with Windows just doesn’t work.
Fortunately, there is a solution. The best mapping application in the world can be run on my Windows. Moreover, it supports the offline mode nicely, and, I should say, organically.
Behold Organic Maps:
Spoiler alert: Yes, I am running a native Android app on my Windows. And recommend this.
Modern Windows has a wonderful thing called the Windows Subsystem for Android. Fun fact: While I use Windows Subsystem for Linux quite a lot, I have learned about Windows Subsystem for Android literally by accident.
(In case you are curious: I attempted to install the Fidelity app from the Windows Store. It “redirected” me to install the Amazon App Store. I might have agreed to it by pure accident.)
Here is how this Amazon App Store looks like:
No, you will not need to sign in, or create a new Amazon account. But this Amazon App Store literally enables Windows to run Android apps.
This is totally serious, and it is not a joke. Amazon App Store installs the very Windows Subsystem for Android. I have actually uninstalled the Amazon App Store .. and this Windows subsystem for Android got uninstalled away. Oh well. I have it re-installed. Don’t be like me and don’t uninstall it.
It is possible to open this Windows Subsystem for Android natively. Just type Android into the Start menu. It will be there right away. Here is how its main window looks like:
If you made it here with your Windows machine – for Organic Maps or elsewhere – congrats! That’s more than half way.
Also, note that I have Slack installed on my “Android on Windows”. It eats up less CPU and RAM when “boxed down” this way.
Let’s install Organic Maps now. You will need the .apk
file. That’s a bit of an .msi
installer, but for Android, not for Windows. Full disclosure: You may be able to install Organic Maps from some online store. You even may be able to install it from this “Android on Windows”, if you install the browser into it first, and then follow the right link from within this Android on Windows.
I just found the way I am outlining below both faster and purer.
In any case, you will need the .apk
. Depending on how geeky you want your experience to be, you can follow the “Github” link from the original website of Organic Maps, you can navigate to their Github page directly, or you can get the latest version from the Telegram channel. The version I played with is OrganicMaps-23122004-web-release.apk
, in case this matters.
My personal preference for the way to install this “Android App” on Windows is to use the ADB tool. Yes, it feels like Linux. You open the shell and type .\adb.exe install {OrganicMaps-full-file-name.apk}
.
You will need ADB, which comes in the “package” called platform-tools
. The following page has decent instructions: Windows 11: How to Sideload APK Using Windows Subsystem for Android and ADB (nerdschalk.com).
I would only add that Windows has PowerShell, which is super easy to run:
Navigate to the “platform-tools” directory, which in my case is under “Downloads”, so it’s cd Down<TAB>pl<TAB><ENTER>
. That’s where the adb.exe
file should be, and dir shows the list of files in this directory. I have uncompressed all the platform tools right under Downloads\platform-tools
, just as the link above suggests.
On the screenshot above, .\adb.exe devices is showing one “attached” device. That’s my local Windows Subsystem for Android, since 127.0.0.1 is the local computer. Long story short, you will need to:
Enable “Developer mode” in this “Android for Windows”,
Run
.\adb.exe connect 127.0.0.1:58526
from the shell, andClick “Allow” to enable access to “your Android” from “your computer”.
That’s it. Once you see your device under .\adb.exe devices
, all it takes is:
.\adb.exe install OrganicMaps-23122004-web-release.apk
If you struggle with paths, just put the .apk
file under the platform-tools
folder temporarily.
The last thing you may want to do is let Windows Subsystem for Android use your device’s location. On Windows, it’s under “Location privacy settings”. Just press the Start button and type “Location”. On “Android inside Windows”, I believe, location services are enabled by default.
That’s it. Everything works. Enjoy responsibly.
PS: I use Debian under the Windows Subsystem for Linux (WSL) on Windows. So, PowerShell, as well as backwards slashes instead of the forward ones, are just an example. Keep in mind though that the Linux-built adb
would not work; so personally I have the adb
command alias
-ed to ~/Downloads/adb.exe
when inside the WSL, where ~/Downloads
is a symlink to the Windows downloads folder.
PS2: If using .\adb.exe
from PowerShell is too geeky to your taste, there are also WSATools to explore. I have not tried them myself. But I can see how the path with them could be easier compared to using the terminal. Even though you would still need to “Enable” and “Allow” “Debugging” for this to work.
PS3: The geek in me is now happy, since there’s not just one, but two ways to “ship” toy “apps” in a “non-console” way:
By wrapping the respective
index.html
into an Electron app, andBy building the
.apk
file and installing it “natively”.
Both (1) and (2) are straightforward to configure as Github actions, so that you could show your favorite toy app to your non-geek users by pointing them to the Github Releases page. Fun fun fun.
Happy hacking!
Interesting solution, but I'm afraid only for next one year:
"Microsoft is ending support for the Windows Subsystem for Android™️ (WSA). As a result, the Amazon Appstore on Windows and all applications and games dependent on WSA will no longer be supported beginning March 5, 2025"
also Amazon App store is available only for some locations:
"Here's the current list of supported countries and regions:
Andorra
Australia
Austria
Canada
Christmas Island
Cocos (Keeling) Islands
Cook Islands
Belgium
France
Germany
Gibraltar
Guernsey
Heard and McDonald Islands
Ireland
Isle of Man
Italy
Japan
Jersey
Liechtenstein
Luxembourg
Monaco
New Zealand
Niue
Norfolk Island
San Marino
Spain
Switzerland
Tokelau
United Kingdom
United States
Vatican City "