[App][5.0+] Aurora Store - Open Source Google Play client

Search This thread

Aqq123

Senior Member
Aug 27, 2009
291
353
Google Nexus 4
Nexus 7
I am the author of the script.
Look. You found the original reason why it stopped working, and a way to fix it. This is the most important part. The rest are just technicalities.

You solved the problem using a tool you're familiar with. That's great. I'm not trying to diminish it.

I shared a way to do the same I believe to be simpler, so it's on me to say what makes it so. Which I can only do by comparing it to your original approach. Namely, no external dependencies, and ~5 lines are faster to look at than 50+ to make sure it's not trying to eat your dog.

In the end it turns out there's a simpler way yet, which involves making an edit to /data/system/packages.xml without the need for uninstalling. Now anyone else facing this issue can choose from the 4 solutions so far: (1) simple reinstall with Package Manager using the -i flag; (2) staged reinstall with Package Manager using the -i flag (for apps w/multiple APKs); (3) your Python script automating (2); (4) an edit to packages.xml bypassing the need to reinstall.

In the end we all benefit from sharing and discussing multiple approaches.
I run Android on unrooted Huawei phone which simply doesn't allow for the method with editing
Code:
/data/system/packages.xml
I'm not familiar with Huawei specificially but you might still be able to do it from recovery, as long as you have access to the decrypted /data/ partition.
Another side note on why I dislike bash - you mention
Code:
Note: the g modifier for sed is because sometimes there's also another entry, installInitiator="...". So we're changing both.
. This kind of issues is exactly what I prefer to avoid, and this is simply not possible (or easy) with bash.
I'm not really sure what you're getting at. First of all there's no bash anywhere. The shell on Android isn't even bash, and here I'm just using sed (Stream Editor) which has been a part of UN*X since the 1970s and is available on any Android device as part of toybox/toolbox. It's not because "I love bash" (i.e. shell scripting) but because this makes it possible to avoid any external dependencies. Love it or hate it, it's already there. I guess you can say it's out of love for the KISS principle.

Then, the g (global flag) for s/// is there because depending on the Android API version, sometimes there'll also be installInitiator="..." apart from installer="..." so we might want to make more than one replacement (specifically, two). This covers each case.

Or are you criticizing the use of a regular expression to modify an XML file? It's not even a proper regex though, just a simple string match. It could of course fail if the entry were split into multiple lines. But the point is not to make it bulletproof against any XML one can throw at it. The file packages.xml is automatically-generated and predictable enough, it doesn't have newlines where they could become an issue.

If it's something else, then it's really lost on me what you mean. What kind of issues are not possible (or easy) to avoid? I take it you're not opposed to regular expressions in principle, since that's what you used in your script yourself: fix_ing.py:44
Python:
installation_id = re.findall(r"\[(\d+)\]", out)[0]
I appreciate all the suggestions and discussion. Alas, after hearing what you told, I doubt that you would like to contribute to my project.
Thank you for the invitation. I think your script is complete though at this point, and you should take full credit for it.

As far as I can tell, the only thing where it could be improved is to make it work on other apps beside pl.ing.mojeing: either by taking the package name from the command line, or checking against a list of known packages that attempt to verify their installation source, and changing it to com.android.vending if it was something else for each of them.

That'd be way past the original scope of the project as I understand it though. And a feature enhancement to Aurora might make it all redundant.
I also agree that it would be nice for Aurora to enable spoofing of installer id, especially if it is possible without adb and without root.
Considering the whole thing is your discovery in the first place, would you like to create an issue on the tracker to bring it to the developers' attention?
Side note: admins of ING forums decided to scrub the forums from links, be it to my GitHub, or to this thread, which some kind user shared (and that's the reason I'm here).
Sad to hear but predictable. Of course the bank website can still be accessed from any "rooted" PC I guess, and their app is likely a glorified WebView wrapper... only with "root" detection.
 

enedil

Senior Member
Sep 24, 2013
60
13
enedil.wordpress.com
I'm not familiar with Huawei specificially but you might still be able to do it from recovery, as long as you have access to the decrypted /data/ partition.
Out of interest I might want to try it.
I'm not really sure what you're getting at. First of all there's no bash anywhere. The shell on Android isn't even bash, and here I'm just using sed (Stream Editor) which has been a part of UN*X since the 1970s and is available on any Android device as part of toybox/toolbox. It's not because "I love bash" (i.e. shell scripting) but because this makes it possible to avoid any external dependencies. Love it or hate it, it's already there. I guess you can say it's out of love for the KISS principle.
I used Linux desktop systems so long that I no longer believe in "Python is external dependency". I'm also aware about differences between sh and bash, but I don't think it's important to make that distinction in speech. But this is a minor note.
Then, the g (global flag) for s/// is there because depending on the Android API version, sometimes there'll also be installInitiator="..." apart from installer="..." so we might want to make more than one replacement (specifically, two). This covers each case.

Or are you criticizing the use of a regular expression to modify an XML file? It's not even a proper regex though, just a simple string match. It could of course fail if the entry were split into multiple lines. But the point is not to make it bulletproof against any XML one can throw at it. The file packages.xml is automatically-generated and predictable enough, it doesn't have newlines where they could become an issue.
Both of that, and you made your point directing me to my use of regular expressions. Anyway, that is just a little remark. By using `pm path` I avoided accidentally trying to install too many/too few .apk files (that might for some reason match your glob).
As far as I can tell, the only thing where it could be improved is to make it work on other apps beside pl.ing.mojeing: either by taking the package name from the command line, or checking against a list of known packages that attempt to verify their installation source, and changing it to com.android.vending if it was something else for each of them.
I didn't see the point in it, as currently for me I don't use it for more than one application.
Considering the whole thing is your discovery in the first place, would you like to create an issue on the tracker to bring it to the developers' attention?
Sure. I might even want to code it myself.
Of course the bank website can still be accessed from any "rooted" PC I guess, and their app is likely a glorified WebView wrapper... only with "root" detection.
This is not true. In Poland we have a payment system called BLIK. How BLIK basically works is that you open the bank app, which lets you generate a 6 digit code, valid for 2 minutes. You pass that code to a website, physical payment terminal or an ATM. The receiving end starts processing the code, which prompts your app to confirm the payment (with a specific amount etc.). This is not possible to do on the web version, and I use BLIK very often because it's the easiest way to pay without sharing credit card numbers with the processor.

Also, previously I had to use a bank which has only an app, no web interface :p
 
  • Like
Reactions: drnightshadow

knofi69

Member
Feb 26, 2014
16
2
In the meantime the Aurorastore works for a few days... but now it doesn't work again. We use a 4 devices with the
anonymous login ( it doesn't work on all devices)...
The error report is: "Failed to connect t auroraoss.com 146.59.157.181 (Port4***)"
I'm not abel to see the last three digits of the port...
May someone can help me :) thanks
 

asripath

Senior Member
Jul 12, 2020
300
246
Redmi K20 Pro
Samsung Galaxy Tab A8
In the meantime the Aurorastore works for a few days... but now it doesn't work again. We use a 4 devices with the
anonymous login ( it doesn't work on all devices)...
The error report is: "Failed to connect t auroraoss.com 146.59.157.181 (Port4***)"
I'm not abel to see the last three digits of the port...
May someone can help me :) thanks
Issue on your side.
Just checked...use everyday...works..
Check if you / isp are blocking
Edit
Check if you can access
Auroraoss.com
gitlab.com
And are using version 4.1.1
 

krystian3w

New member
Last edited:

TXRdev2005

Member
Sep 3, 2021
22
0
LG Optimus G
Xiaomi Mi 2
Screenshot_2022-12-15-09-43-51.png

Does anyone know how to fix this, my phone runs android 4.4
 

Ssarna1

New member
Jan 9, 2009
4
0
Leszczyny
Edit: actually, if the app is just one APK, the same can be done with a single command:
Code:
adb shell pm install -i com.android.vending /data/local/tmp/base.apk
Really, no need to overengineer it. Anyway, I digress.
What if it's not just one APK? Aurora downloads three files:
pl.ing.mojeing.apk
config.xxhdpi.apk
config.arm64_v8a.apk

would it work if i apply the above hack to all those files?
Yeah, this should be it. No need to uninstall:
Bash:
adb shell
su
stop
sed -i -e "/pl\.ing\.mojeing/s/com\.aurora\.services/com\.android\.vending/g" /data/system/packages.xml
start
exit
Just checked and it works - the reported installation source changed in App info. (I tried with another app since I don't have this one but it should be all the same).

Note: the g modifier for sed is because sometimes there's also another entry, installInitiator="...". So we're changing both.

Probably a good idea to have a backup of packages.xml just in case. And check the permissions and security context before and after (ls -laZ). But on the device I tried (LOS 18.1) they didn't need any adjustment.
Would something like that (or similar) be possible for non-root?
 

Aqq123

Senior Member
Aug 27, 2009
291
353
Google Nexus 4
Nexus 7
What if it's not just one APK?
Then you have to use pm install-create|install-write|install-commit. It's all in the same post, right above the part you quoted:
The workaround boils down to just running a staged installer with pm install-create -i com.android.vending, which can be done manually with a couple of commands:
Bash:
% adb push base.apk /data/local/tmp/
% adb shell
% pm install-create -i com.android.vending /data/local/tmp/base.apk
Success: created install session [12345678]
% pm install-write -S `stat -c %s /data/local/tmp/base.apk` 12345678 0 /data/local/tmp/base.apk
Success: streamed 87654321 bytes
% pm install-commit 12345678
Success
You just need a separate pm install-write call once for each APK.
Would something like that (or similar) be possible for non-root?
From recovery, assuming you have access to the /data partition. So yes in general for most devices.

Also note the original method uses adb root and on many non-stock OSes (such as LineageOS) this can simply be enabled in SystemDeveloper optionsRooted debugging. It doesn't depend on su (or Magisk) to work.
 
Last edited:
  • Like
Reactions: heinhuiz

Ssarna1

New member
Jan 9, 2009
4
0
Leszczyny
Code:
Failure [INSTALL_FAILED_INVALID_APK: Full install must include a base package]

Do i need to rename "pl.ing.mojeing.apk" to "base.apk"? How do i determine, which one is "base"? Is it always the one with usual package name?

EDIT: didn't work.

Also note the original method uses adb root and on many non-stock OSes (such as LineageOS) this can simply be enabled in SystemDeveloper optionsRooted debugging. It doesn't depend on su (or Magisk) to work.

I do have this enabled, but this is what i get:
Code:
OnePlus7Pro:/ $ stop
Must be root
 
Last edited:

Aqq123

Senior Member
Aug 27, 2009
291
353
Google Nexus 4
Nexus 7
Do i need to rename [...]?
No, the filename doesn't matter. All the required information is inside the app manifest anyway. In the example it was named base.apk because that's the name Android uses for already installed APKs. And if you look at the original post context, the file was copied from the installed app directory, so that it doesn't have to be downloaded again:
Bash:
cp `find /data/app/ -path \*pl\.ing\.mojeing\*\.apk` /data/local/tmp/
pm uninstall pl.ing.mojeing

I do have this enabled, but this is what i get:
Code:
OnePlus7Pro:/ $ stop
Must be root
You need to run adb root first.
 

Privacydroid

Senior Member
Aug 10, 2022
253
102
I'm running BlissOS in Virtualbox (basically android as a virtual machine on my PC).
The system itself is fully functional, i can access the internet.

The problem is when opening Aurorastore via the anonymous option, it says requesting new session, then after a moment spits out this error:
"failed to connect to goolag.store/..."

The whole BlissOS is entirely useless for me when i can't download the apps that i want.
-No i will not use a google account
-No the apps i want don't offer any direct apk download

So how do i fix this crap?

0.PNG

1.PNG
 

Oswald Boelcke

Senior Moderator / Moderator Committee
Staff member
  • Like
Reactions: Privacydroid

temporarium

Senior Member
I'm running BlissOS in Virtualbox (basically android as a virtual machine on my PC).
The system itself is fully functional, i can access the internet.

The problem is when opening Aurorastore via the anonymous option, it says requesting new session, then after a moment spits out this error:
"failed to connect to goolag.store/..."

The whole BlissOS is entirely useless for me when i can't download the apps that i want.
-No i will not use a google account
-No the apps i want don't offer any direct apk download

So how do i fix this crap?

View attachment 5823663
View attachment 5823665
First, what are you referring to as crap ? If it's the Aurora app, then you best not use it and find something else to complain about 😉

Second, how is your Internet connectivity inside the VM? Is there a firewall of any kind?

Third, have you read through the last few pages of this thread? You may find some hints at possible solutions.
 
  • Like
Reactions: drnightshadow

Privacydroid

Senior Member
Aug 10, 2022
253
102
First, what are you referring to as crap ? If it's the Aurora app, then you best not use it and find something else to complain about 😉

Second, how is your Internet connectivity inside the VM? Is there a firewall of any kind?

Third, have you read through the last few pages of this thread? You may find some hints at possible solutions.

As crap i am reffering to the situation itself which is i am trying to use software that i supposed to work as is, but does not.

I don't know who is to blame, blissos probably or perhaps aurorastore, my idea was that this version of blissos might use an outdated integrated version of aurorastore and that's which it doesn't get any connection.
I tried manually installing the latest aurorastore apk but the system responded the app is already present.

There is no firewall in the VM, i can access the internet normally with my browser and the VPN works too.

Alright let me take a look at message history of this topic.
 
  • Like
Reactions: temporarium

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    Anyone else get an SSL error and/or unable to resolve host erorr?

    Looking into it, thanks
    5
    grrr v4.4.3 removed the custom download folder option.
    Is it gone for ever?
    Nope, it will be back in future versions, probably 4.6 or something. It needs a bit of work to work properly as expected.
    3
    with anonymous account i have "Oops. You are rate limited"

    @theimpulson
    Please follow this issue for further updates on server issues: https://gitlab.com/AuroraOSS/AuroraStore/-/issues/1076
    3
    Did the new Aurora store client remove the ability to download multiple app updates in parallel? I've noticed the selector is gone and apps only download and install one at a time, greatly slowing the process down from how fast Aurora used to update many apps.

    Also it seems if there is a paid app with an update in the list the whole update operation fails until you skip that one app update.
    Yes. The option was implemented using a four-year-old third-party library which was dropped as a result this feature was dropped as well.
    3
    are updates will be available in fdroid later?
    also when it happens do i understand correctly that i have to reinstall the app again?
    F-Droid is the recommended source so yes. All updates for Aurora Store will be available in F-Droid and no, you don't need to reinstall app again for updating.
  • 304
    FG-2.png

    Aurora Store
    Unofficial Google Play client

    Disclaimer :
    Using Aurora Store with your own Google account may cause your account
    to be blacklisted, use at your own risk.



    Aurora Store is an unofficial, FOSS client to Google Play with bare minimum features. Aurora Store allows users to download, update, and search for apps like the Play Store. It works perfectly fine with or without Google Play Services or MicroG.


    Aurora Store is derived from the following projects, special thanks to the devs
    YalpStore | AppCrawler | SAI | Raccoon

    Important Links
    GitLab | Telegram Support Group | Telegram Channel

    Downloads
    Stable | Nightlies

    Special Thanks for Help & Inspiration
    Sergey Yeriomin | Nick Kountouriotis | Krzysztof Szczepański | Andreas Itzchak Rehberg (IzzySoft)

    Core Developers
    Rahul Kumar Patel

    Designers
    Iacob Ionut | Radek Błędowski | Lumiq Creative

    Aurora Community Members
    Anunay | Snoop | Sicarious | My Translators | BadAss Bug Reporters | Alpha Testers & Khaleesi

    Version Information

    4.4.2


    XDA:DevDB Information
    Aurora Store, App for all devices (see above for details)

    Contributors
    WhyOrean
    Source Code: https://gitlab.com/AuroraOSS/AuroraStore


    Version Information
    Status:
    Stable

    Created 2018-01-24
    Last Updated 2024-02-24​
    76
    • Target Android 14
    • Improve the F-Droid package filter for updates
    • Claim responsibility for future updates when installing apps using SessionInstaller (Android 14+)
    • Rename "Extended Updates" to "Incompatible Updates"
    • Add menu action to create a shortcut for the installed app
    • Bug fixes and improvements
    • Translation updates

    • Switch to jitpack again for syncing gplayapi

    • Major internal changes to the downloads system
    • Aurora Store now requires new permission to download in the background
    • Pause and Resume features have been deprecated for downloads
    • Concurrent downloads have been deprecated (limited to one download at a time)
    • Automatic SHA256 & SHA1 verification for downloaded files
    • Better support for apps with shared libraries such as Chrome and WebView
    • Major changes to the updates system
    • New automatic updates for apps (enabled by default)
    • New automatic certificate verification for updates
    • Support for updates with signing key rotation (introduced after Android 9.0+)
    • Self-Updates (Aurora Store) has been disabled by default (enable in settings > update)
    • Native Installer and Aurora Services have been deprecated
    • Exporting installed apps doesn't requires storage permissions anymore
    • The minimum required Android version for apps is now visible on the app details page (More about this app > Info)
    • Translation updates & major bug fixes
    • Support for installing apps with Sui (Shizuku Magisk Module)
    • Ability to override the GMS version from Settings > Network
    • Material3 is now being used in more places

    • Fix apps not installing post download
    • Allow choosing custom download directory
    • Add Wifi-only download option

    • Fix crash on some devices while searching non-english keywords
    • Improve Apps & Games page
    • Add back toggle for auto install post app download
    • Do not play notification sound when app is installed or updated
    • Fix crash on some devices while opening app details
    • Add uninstall confirmation dialog if using root installer

    • Fix search issue, uses WebAPI data

    • Switching to the system theme from a dark theme updates the UI properly
    • Dialogs on the home screen no longer hide certain views
    • Opening a Google Play link now ensures a valid & working account is present
    • The navigation drawer is only openable on the main screen
    • Back action now properly exits the app on certain screens
    • Settings buttons now have a proper tint in the dark theme
    • App name is visible again in toolbar for exodus reports
    • Internal improvements related to images
    • Translation updates

    • Allow users to enable app links during first-time setup
    • Translation updates
    • Minor bugfixes & improvements

    • Major internal changes related to UI
    • Translation updates
    • Minor bugfixes & improvements

    • Hotfix - Fix crash on some screens

    • Avoid asking storage permission until required
    • Reworked spoof configuration to avoid storage permission for import-export
    • Add option to automatically check for app updates (requires a working account logged in)
    • Fixed issue where required libraries weren't being installed with apps like chrome & trichrome library
    • Ignore downloads directory from backups when backing up Aurora Store
    • Implement Shizuku installer (requires Android 8.0+)
    • Drop support for Android 4.4. Minimum required Android version is 5.0+.
    • Minor bugfixes & improvements

    • Minor bugfixes & improvements
    • Update translation

    • Fix crash related to notification of installation services
    • Only show valid spoofing properties in app
    • Notify users when they are rate-limited during searching
    • Show a shimmer animation while searching to indicate progress
    • Fix navigation behaviour when default tab is changed
    • Fix quick exit option

    • Always enable finish button on permission fragment (fixes new user's onboarding)
    • Keep GSON library's TypeToken while optimizing build (fixes startup crash)

    • Target Android 13
    • Enable localization of multiple strings
    • Add monochrome icon for Android 13
    • Update dependencies to latest version
    • Show Terms of Service prompt on launch immediately
    • Allow to go forward without granting permissions during initial setup
    • Read system xml denylist as default for excluding from updates
    • Show the correct title on the 5th setup page
    • Enable forward button on setup when going back
    • Replace checkboxes in setup installer with radio buttons
    • Use stroke color for background of setup tabs
    • Fix no-theme bug in setup by using radio buttons
    • Do not use new GSF & Vending versions
    • Refactor storage related permissions setup
    • Translation updates

    • Hotfix - FCs for some devices

    • Bug fixes & improvements
    • Updated Translations

    • Fixed Aurora Services install
    • Updated Translations

    • Removed promotional apps
    • Fixed background update/install issues
    • Bug fixes & improvements
    • Updated Translations

    • Add optional promotional apps
    • Bug fixes & improvements
    • Updated Translations

    • Fix missing download entries
    • Do not allow users to install bundled apps via Native Installer
    • Updated Translations

    • Add back search filters
    • Add back manual downloads
    • Fixed installer related issues
    • Fixed language spoof issue
    • Fixed dispenser timeout issue
    • Added support for insecure anonymous sessions
    • Fixed ABI mismatch issues on Huawei devices
    • Added options to disable ForYouPage & customize default tab
    • Bug fixes & improvements
    • Updated Translations

    • New GPlay API
    • New improved UI
    • Better app installers
    • Theme Engine
    • Bug fixes & improvements

    • Updated translations & added new Koffrora (Meme) locale
    • Enforced root install method to set installer as 'com.android.vending' allowing app to work that
    impose restricts if installed from other sources except Play Store.
    • Fix bugs related to search bar & search history
    • Fix bugs related to Downloader
    • Added option to view changelogs in updatable app list
    • UI improvements

    • Sort app list in ascending order of app name
    • Enforced proxy network on download requests
    • Show update size in updatable app list
    • Disable quick notification completely if notifications are turned off

    • Bug fixes & improvements
    • Added new locales (Asturian, Catalan and Sardinian)
    • Added new spoof location : Tokyo, Japan

    • Bug fixes & improvements

    • Improved legacy card style
    • Added support for TV
    • Improved Accounts and added support for 2FA
    • Fixed exodus showing old reports
    • Fixed and improved search results
    • Added new locale - Dutch
    • Updated translation

    • Added option to use custom token dispensers (Settings->Network)
    • Added new dummy accounts & dispenser
    • Added support for Aurora Services
    • Added option to view AppInfo from list menu
    • Zip the splits to backup bundled apps
    • Bug fixes & improvements
    • Updated translation

    • Added option to export current device info
    • Improved Search UI
    • Bug fixes and improvements

    • Added option to install apps directly to work profile (only rooted users)
    • Added cleanup routines and image caching control routine
    • Added new locales - Punjabi, Belarusian and Norwegian Bokmål
    • Bug fixes and improvements

    • Cache apps to reduce network calls, auto clear after 3 days
    • Fix Google account login
    • Fix OBB issue for big games
    • Bug fixes and improvements

    • Do not cache updatable apps, its fetched on each launch
    • Make installation sequential
    • Improve notifications
    • Improve app aesthetics
    • Bug fixes and improvements

    • Fix downloads on Android 10
    • Notify user if 2FA is enabled
    • Improve dummy logins and handle rate-limit
    • Add self-update module
    • Bug fixes and improvements

    • Fix Google login issue
    • Fix user reviews
    • Update exodus trackers list
    • Bug fixes and improvements

    • Fixed login issues
    • Bug fixes and improvements

    • Updated translations
    • Bug fixes and improvements

    • Update UI
    • Fixed issues related to beta subscriptions
    • Fixed login issues
    • Bug fixes and improvements

    • Fix a critical serialization/deserialization issue

    • Fixed Exodus report
    • Fixed Login/No network issue
    • Fixed Splash screen issue
    • Fixed 2FA login issues
    • Fixed multiple other issues
    • Updated translations

    • Updated translations
    • Bug fixes and improvements

    • Updated translations
    • Bug fixes and improvements

    • Updated translations
    • Fixed search issues

    • Updated translations
    • Bug fixes and improvements

    • Fix root installs
    • Fix files details not being displayed

    • Fix notifications & auto-installs
    • Fix few apps not downloading issue

    • Fixed auto-install issues for bulk updates
    • Fixed no-network issues for Anbox setups
    • Various other bug fixes and improvements
    • Updated Translations

    • Bug fixes and improvements
    49
    Frequently Asked Questions (FAQ)

    Please find a list of frequently asked questions on our wiki here
    33
    #Update : New build is up !
    Changelog : v3.1.7
    • Update UI
    • Fixed issues related to beta subscriptions
    • Fixed login issues
    • Bug fixes and improvements

    EDIT : Updated to a new build
    28
    Hey all!

    A little update, secondary dispenser server is back!
    The primary server is still offline.

    How to enable secondary dispenser ?

    1. Go to Settings -> Networks -> Enable custom tokenizer
    2. Enter Tokenizer URL "http://www.auroraoss.in:8080"
    3. Go to accounts -> Logout -> Login
    4. Enjoy! (Optional)


    Keep calm & stay safe.