[Extension] Updated version of the APK Downloader Chrome Extension

Search This thread

Seth Rich

New member
Jun 11, 2017
1
0
Looks like google has changed something again in their api, because neither this not the original APK Donwloader (https://xdaforums.com/showthread.php?t=1515021) seems to work lately. Need the devs to take a look.

Any updates on this? Should I stop wasting my time trying to hunt down anything that calls itself a browser add-on for direct APK downloading?

And since I'm here - can someone clarify this: The android device ID app gives something called the "Android Device ID" and something else called the "Google Service Framework (GSF) ID". Both are 16-character hex strings. Which one is used by these browser extensions as they interact with google play store?

And - which-ever one is used - does it have to be recognized or "registered" first with google somehow for this APK download method to work?
 

billa

Senior Member
Mar 30, 2006
848
385
It hasn't been updated in years so I wouldn't bother. Download from APKMirror instead. If the app isn't on APKMirror, install it on your device then back up the APK using one of the many apps for the purpose.

Sure that's workable, but this extension was so useful for downloading different platform versions by merely changing the device codename in settings, including api version.
Plus the convenience of browsing the PlayStore on a desktop/laptop browser, and being able to download on the spot while browsing the apps.
Hope the devs will take a look into the glitch, which by the way has been happening quite often lately possibly due to google's api changes.
If there's anything us users can help by testing, just let us know.
 

Strephon Alkhalikoi

Senior Member
Aug 3, 2010
7,473
3,458
Vulcan
Samsung Galaxy S4
Nexus 6
If there's anything us users can help by testing, just let us know.
Replying to me isn't going to get development moving. And after nearly five years since I last used the extension, I don't believe anything will. Of course, you could check for the source code on GitHub yourself and start maintaining things. You clearly have the desire to do the work.
 

billa

Senior Member
Mar 30, 2006
848
385
Replying to me isn't going to get development moving. And after nearly five years since I last used the extension, I don't believe anything will. Of course, you could check for the source code on GitHub yourself and start maintaining things. You clearly have the desire to do the work.

Sorry, I wasn't demanding further maintenance of the project, just thought I'd spark some interest in whoever might want to tinker with it.
Once you get used to downloading apps in the comfort of a desktop, it's hard to go back to a mobile device downloading and backing up each one at a time.
Definitely one of my favorite extensions yet, guess will just have to dig into the code.

The authentication fix in the latest version 2.1.10 was the simple deletion of these lines of code.
I'll try to add it back on and see what happens.

/*** REMOVE ***/
, marketDA;

if ((marketDA = /MarketDA..(\d+)/.exec(data))) {
marketDA = marketDA[1];

BrowserCookie.set({
url: appUrl,
name: 'MarketDA',
value: marketDA
}, function() {

BrowserCookie.set({
url: redirectUrl,
name: 'MarketDA',
value: marketDA
}, function() {
});
});
}


As probably everyone has noticed by now, pretty much all APK downloaders have been started to fail lately.
The reason for this is a recent change in Google Play's login mechanism, using session cookies rather than tokens.

One interesting thing to note is that in FDFE urls, the following two url parameters are supported:
ipCountryOverride
mccmncOverride
Which when implemented correctly would allow to bypass Google Play's region/carrier locks without using messy proxys. ;)
 
Last edited:

mbairz

New member
May 25, 2012
1
0
Is there any particular reason why this project is chosen to be an extension rather than a standalone application? Is there something special to be gained from Chrome browser Vs the disadvantage of being tied to this platform and if it changes, having to figure out what's wrong etc and make appropriate changes?

I've never written extensions, so I honestly don't know. But I think all a browser can do is just send data and then if all goes well receive other data, so using Java (or another language) should be possible to achieve this? Or am I missing something.

The reason I'm asking is then it can be ported to Android more easily. That is, to have a legit way of downloading APKs from the store *without* having a Play Store.
 

Strephon Alkhalikoi

Senior Member
Aug 3, 2010
7,473
3,458
Vulcan
Samsung Galaxy S4
Nexus 6
It needs to be an extension as it leverages APIs present only in Chrome or Chromium-based browsers to do its work. To have an Android app do the same thing likely would require signature spoofing like what MicroG requires. Of course if you wanted to open the signature spoofing security hole on your device you could just use a ROM with built-in signature spoofing, install MicroG and the Play Store, and be done.

The point is moot anyway, as support for this extension ended years ago.
 

phichidev

Member
Mar 2, 2007
8
0
You can search "Direct APK Downloader" in Chrome Web Store or Firefox Add-Ons Store to search and download APK & OBB files directly from Google Play Store
 
Mar 27, 2019
8
0
I used to rely on that one. But have moved to apknite's extension. Apkpure is okay, too. They're known and safe. Just don't wanna virus to my phone
 

TinaDone

New member
Aug 17, 2019
2
0
Thank you very much, use the apk downloader from Apk2down.com provider now and download your favorite file.
 
W

wjm960226

Guest
I input our adrID and it's 16 but that error me must be 16 characters.last I am copy from my ID by my phone.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 69
    What is it?

    This is an updated (and slightly modified) version of redphx's awesome Google Chrome extension APK Downloader.
    It allows you to download APKs from the Play Store webpage via your desktop browser directly onto your computer.

    The original version stopped working as of Google Chrome version 20+ because starting with this Chrome version, all Google Chrome extension require to use the manifest version 2. When I noticed, I checked the author's page for any updates. But there were no updates on that.

    Update: Earlier, I said that the original APK Downloader extension stopped working because it uses Manifest version 1 and that Google Chrome dropped support for all extensions that use Manifest version 1.

    However, gt573 noted that he can still use the original extension (v1.2.1) with Chrome 21.

    So, I checked again the Manifest version 1 support schedule and I found that I was wrong there. Manifest version 1 was announced deprecated with the release of Chrome 18, but will be partitially supported until "early 2013".

    Nethertheless, the original APK Downloader (v1.2.1) does not work for me since my Chrome was update to 21.0.1180.60 m. The extension constantly throws content security policy exceptions when trying to download any App, which prevents the extension from working at all. Additionally, this is the error message I get on the extension page:

    23tpo93.jpg


    And according to the recent comments on the author's webpage, there's a bunch of other users who have/had the same problem with v1.2.1 within the last days. (For a detailed explanation of manifest version changes in Chrome and what that means for the original APK Downloader, click here to read the full story.)

    So: If APK Downloader v1.2.1 stopped working for you, feel free to use this updated version.

    What was changed?

    So.. Basically, this is the original APK Downloader v1.2.1 extension for the Google Chrome browser, downloaded from the author's - redphx - webpage. However, these are the changes that I made:

    As of version 1.3.0
    • Updated the extension manifest version from 1 to 2
    • Replaced deprecated functions in JavaScript and references in manifest.json
    • Changed JavaScript formatting from compressed to "Pretty Print" (so that the source code is readable for everybody)
    • Removed Google Analytics Code (Sorry redphx, all credits to you! But using GA for this, without even anonymizing the User IPs, is a No-Go as I think).
    • Changed the download redirect Url (when clicking the icon in the Url bar) from the author's webpage to a local domain "http://localhost/[..]".
    • Removed all other "extra" code, that was not used for the actual functionality.
    • Replaced extension icons.

    As of version 1.3.1
    • Changed the download redirect Url (when clicking the icon in the Url bar) from"http://localhost/[..]" to this thread's URL, because v1.3.0 required a local web server to be running for the extension in order to function.

    As of version 1.3.2
    • Changed the download redirect Url (when clicking the icon in the Url bar). Instead of open a new tab, as of version 1.3.2 it will simply reload the current Play Store URL and start the download!

    As of version 1.3.3
    • Fixed redirect bug, introduced in version 1.3.2
    • Major code clean up (reduced number of files from 16 to 12).

    As of version 1.3.4
    • Improved new reload function to support Play Store URLs that contain a hash key already.


    Get Started - Download
    To install the extension the steps are as follows: download and extract the following zip archive to your computer.

    Direct download link:
    apkdownloader-1.3.1.zip
    apkdownloader-1.3.2.zip
    apkdownloader-1.3.3.zip
    apkdownloader-1.3.4.zip

    How to set up?

    After you extracted the downloaded zip file to your computer, open Google Chrome and go to the extension page; you can copy and paste into the Url bar: chrome://chrome/extensions/

    Load it

    Now, enable "Developer mode" and load the "APK Downloader"-extension from the directory where you extracted it to.
    2jg2ecp.jpg


    Set it up - Google-Account

    To be able to download from the Play Store, you need to authenticate all requests. Therefore you need to "log in to your Google Account" at the extension's option page.
    svkuhx.jpg


    On the extension's options page, log in with your Google-Account (email-address and password) - the same Account that you used with your device! Also, you will need your Android Device-Id (which is part of the algorithm to generate a valid request key).

    Note: Basically this is not a "login" in the common sense. Your credentials are stored safely in Chrome's local data storage - on your own computer!!!

    Set it up - Android Device-Id

    To get your Android Device-Id, type in the dialer of your phone...
    Code:
    *#*#8255#*#*
    *#*#TALK*#*#

    ... and you will get the "GTalk Service Monitor" screen like the following. Search for "DEVICE-ID:". Everything that comes after "android-", that is your Device-Id.

    b6u450.jpg


    OR

    Use my App "Android Device-ID"

    hKKum.jpg


    (Almost) Done

    2j0cfma.jpg


    The extension is now available and ready set up. However, you need to follow 1 more step to actually use it; you need to disable SSL warnings. Therefore please read on at the original APK Downloader page at: http://codekiem.com/2012/02/24/apk-downloader/


    Credits
    All credits for the extension goes to redphoenix89 (or redphx @xda)! It's his code - I did only cosmetics.

    Legal Note / Disclaimer
    Finally, please note that the use of this Chrome extension is violating Google's Play Store TOS! You've been warned.
    11
    As promised, the repo and a zip:

    Chrome extension directly available on https://lekensteyn.nl/apk-downloader/
    Project repo (zip at downloads): https://github.com/Lekensteyn/apk-downloader

    Changelog for 1.4.1 - 2013-01-13:
    • Packaging-only change, add update URL to manifest file and provided ready-to-install CRX file.

    Changelog for version 1.4 - 2012-12-09:

    • Rewrite Javascript core of extension, do not make it look too obfuscated.
    • Chromium 23 compatibility. Due to restrictions on changing headers for clients.google.com, a new approach on retrieving the download URL and actually downloading an APK is implemented.
    • Due to the rewrite, you should not need to disable SSL warnings anymore.
    • Add help to options page.
    • Hide SIM operator options by default as you usually do not need those.

    @OP: please update the first post. Contributions are always welcome, simply do a pull request.
    9
    APK Downloader Chrome Extension 1.5.0

    I've released version 1.5.0 with some fixes:

    • Compatibility with new Play store (reported by existeam, Gaganpreet).
    • Detect when login has expired before downloading and open options page if necessary (requires new permission: access to tabs)
    • Insert email and device ID when trying to re-login (saves you from retyping this combination when session has expired).

    You can get it from https://lekensteyn.nl/apk-downloader/ as usual, source code at https://github.com/Lekensteyn/apk-downloader. This extension contains NO TRACKING CODE unlike Evozi's fork.

    Evozi's fork is based on opensource 1.4.x, with tracking code and removes validation for undownloadable APKs as a fix for new play store. Besides this, it also removes the copyright header of background.js, adds more tracking and some textual changes (adding links to his own apps and social accounts).

    Codekiems 1.4.3 is a modification of the open-source APK Downloader 1.4.2 plus fix for the English Google Play only (i.e. it does not work for other languages). Besides this, it also changes the home page and update URL to his domain.
    4
    Also DL purchased

    I changed line 7 in background.js, so the extension would also download purchased apps and not just free apps from this:
    Code:
        b && b.html && -1 < b.html.indexOf('data-isfree="true"') && chrome.pageAction.show(a)
    to this:
    Code:
        b && b.html && (-1 < b.html.indexOf('data-isfree="true"') || -1 < b.html.indexOf('data-ispurchased="true"')) && chrome.pageAction.show(a)
    4
    I got it fixed for Chromium 23. It required a rewrite because of policy changes that cause captures/modifications of the *clients.google.com domain being blocked.

    I'll polish it a further more with my brother and then get it published in a public git repository. Stay tuned, it should be ready tomorrow or the day thereafter.