The quickest, most dead-simple way to get some working
Android apps is to find some online. While most of those will probably remain out of your reach due to incompatibility issues, we’ll also look at how to (try to) create your own. Forums like this
subreddit are already working on getting some functional. However, this is a far cry from the 1.3 million apps on the Play Store.
Please support developers and don’t download modified versions of paid apps without paying for them. For this reason, it’s unlikely any developer of a free app will be too concerned if you download a pre-modified app to play around with. Distribution of modified apps is, generally speaking, some degree of copyright violation. In practice, there’s little distinction between downloading a pre-modified app, and downloading the regular version and modifying it yourself. However, downloading a modified paid app is piracy. And, while it should go without saying, don’t write a bad review or criticize the developer if an app is broken in
Chrome.
- Unzip the file and place the folder (likely named something like “com.twitter.android“) in a place you can easily find.
- Open the Extensions page in Chrome.
- Click “Load unpacked extensions.”
- Select the folder with the modified APK you downloaded.
If you’re a particular fan of
Chrome apps, you might also notice that a shortcut has been added to the
Chrome app launcher. Depending on how it was packaged, it may have a benign
Android icon and the package name instead of a proper app name. The app will now appear in your list of
Chrome extensions.
For the sake of completeness, we’ll go over how to install the chromeos–apk tool, as well as how to convert them manually, should you need to do any extra tweaking. These methods are also under active development, so if you’re reading this later, there may be even easier ways that have been developed to convert them.
Windows:
- Download the node.js .msi file (not the .exe) from here.
- Install node.js.
- In a command prompt, run the following command: npm install chromeos–apk -g
That’s it. You now have the chromeos–apk tool installed on your machine and can call it from any folder in the command line. You can skip ahead to the section below on how to use it.
OS X/Linux:
The chromeos–apk tool was originally developed for Linux and OS X devices. Here’s how to install it there:
- In a terminal, run the following command: sudo apt-get install npm
- (Ubuntu only): Run the following command: sudo apt-get install lib32stdc++6
- Download node.js.
- Unzip the tar.gz file you downloaded from the above link.
- Per the README file, open a terminal to the unzipped folder containing node.js. And run the following commands in order:
./configure
make
make install
- Run the command: sudo npm install chromeos–apk -g
- To make sure you‘re updated to the latest version (now or in the future), run: sudo npm install -g chromeos-apk@latest
How to Use the Chromeos–apk Tool
Many file managers and backup utilities like ES File Explorer and Titanium Backup can also pull APKs on your device. If you’re trying to convert a free app, you can use this tool to pull an APK directly from the Play Store. You now have the chromeos–apk tool installed on your machine. You can also use this tool to get an APK from an app installed on your phone.
Once you have your APK, it’s super simple to create a
Chrome-friendly version. Open a command prompt or terminal in the folder where you have the APK stored, then do the following:
- Run the following command: chromeos–apk [NAME OF APK] Example: chromeos–apk com.evernote.apk
- If prompted, enter the package name of the app. This can usually be found in the URL of the Play Store listing. For example, in this URL, the portion after “?id=” is the package name. In this case, “com.evernote“.
Namely, open your extensions page, click “Load unpacked extension,” and choose the folder you just created. You now have a modified APK, ready for
Chrome! You can install it using the same instructions in Step 2 earlier in this post. It won’t remove the key (which allows you to run more than one app at once), nor does it fix the app icon. At the time of this writing, the
chromeos–
apk tool still only gets the app working.
Another Way: Convert APKs Manually:
If you can’t (or don’t want to) use the command line utility to modify APKs for
Chrome usage, you can repackage them yourself. You’ll also need an APK for the app in question, so use the methods described in the section above to get them. You’ll still need to download
chromeos–
apk from Github
here. Then, follow these steps:
- There is a folder named “_template” inside the chromeos–apk tool you downloaded. Make a copy of this somewhere else (preferably near the APK you downloaded).
- Copy the APK into “_template > Vendor > chromium > crx“. There should be a README file in the correct folder that says “APK goes here.” in the correct folder.
- Rename the “_template” folder to the package name. The package name can usually be found in the Play Store listing URL after “?id=”.
- Modify the “manifest.json” file in the main folder of the package. This is considerably easier to do with an app like this.
- Add the app’s package name (like “com.pandora.android“) to the “package name” field.
- Add the app’s regular name (like “Pandora”) to the “name” field.
- Delete the entry named “key”, which will have a very long, seemingly random string for a value.
- Save the modified JSON file as “manifest.json” and replace the existing version with the new, edited one.
- Download the app icon from Play Store.
- On a Play Store listing page like this one, right-click the icon image.
- In the URL bar, change “w300-rw” to “w128”. Hit enter.
- Right-click the new image and save it as “icon.png” in the main folder of the modified template folder.
Congratulations! You have just manually modified an APK to run in
Chrome. Time will tell if
Android mobile apps can or will be targeted for desktop use, but for now the floodgates are open to tinkerers if you really want to try them out. The entire process isn’t terribly complicated, it’s just time consuming if you’re altering each app manually.