BlankStore icon indicating copy to clipboard operation
BlankStore copied to clipboard

Unable to find some apps

Open walrus543 opened this issue 9 years ago • 19 comments

Hi, I can't find the reason why some apps can't be found with Blankstore. Last example: https://play.google.com/store/apps/details?id=com.tech401.convoy

I understand for paid apps of course but we should be able to download any free app, right?

Thank you.

walrus543 avatar Apr 13 '16 14:04 walrus543

Google decides which apps to show on the server. The selection is mainly based on the checkin data (which is sent when generating the android id). This data includes things like android version, country, carrier, exact device definition, supported "features" (like nfc), ... App distributors can restrict their apps to be shipped to certain devices that have specific values in this data.

The exact checkin data associated with your android id depends on the tool you used to create the android id. A popular tool used to checkin is nviennot's "android-checkin", which will checkin a Galaxy Nexus device with Android 4.1. The Convoy app you linked seems to require at least Android 4.2 - which means that it won't be visible in play store to devices that seem to run 4.1.

If you want to use certain apps, you need to checkin with matching data. You might be able to change the checkin data sent by nviennot's tool, but you need to know the exact details.

If you are using microG GmsCore, it also contains a checkin client that will create an android id that is mostly maching the device you are actually using (with some identifying bits being randomized). You can check the android id of GmsCore using logcat (it is reported e.g. when registering for push messages) or by reading /data/data/com.google.android.gms/shared_preferences/checkin.xml. It might happen that you will only see the android id in decimal, BlankStore requires it to be in hexadecimal format.

mar-v-in avatar Apr 14 '16 14:04 mar-v-in

Note you can also use DummyDroid to generate those checkin data. This app makes it relatively easy to setup the data you wish to present, by providing it with a corresponding build.prop file.

IzzySoft avatar Apr 14 '16 18:04 IzzySoft

I use microG GmsCore. At the beginning, I generated my Android ID thanks to nviennot's tool (xxxxxxxcc495e). From that time, I clean flashed my custom rom. At first boot, I restore my Android ID through Titanium Backup then I put my ID in Blankstore (xxxxxxxcc495e). I can update my apps flawlessly. It seems that I don't need to use the above tool after each clean flash, am I wrong?

The checkin.xml file says that my AndroidID is xxxxxxx45883, not the same as the Blankstore's one.

I own a Nexus 5 with Android 6.0.1 so I should be able to download the Convoy app. By the way, this app is just an example but several apps that I could download while using Gapps are no longer available with Blankstore (same Android version, same device).

walrus543 avatar Apr 15 '16 08:04 walrus543

@Primokorn You don't need to generate a new ID after each flash, correct. But to reflect your Android version, after switching to a higher one you need to create a _corresponding_ ID. As @mar-v-in pointed out above, most tools are fixed to a specific configuration. With DummyDroid you can modify that:

  1. grap the build.prop from your freshly flashed device
  2. feed that to DummyDroid
  3. have it generate your new ID
  4. use that ID (with BlankStore) as long as you stick with the same Android version. Repeat from step 1 if you updated to a new version (or apps requiring that as minimal version won't be found).

IzzySoft avatar Apr 15 '16 16:04 IzzySoft

DummyDroid will generate an ID as per my build.prop, ok. But does it really help to list all missing apps like Convoy? How do you launch DummyDroid? java -jar DummyDroid-1.1.jar ?

walrus543 avatar Apr 20 '16 08:04 walrus543

@Primokorn Yes. And yes, as the Android version will also be taken from the build.prop it will reflect the version actually used on your device – and not be fixed to Android 4.1 as it's the case with checkin.jar. Of course you could also use any other build.prop e.g. of a very well supported device running a recent Android version.

IzzySoft avatar Apr 20 '16 16:04 IzzySoft

@IzzySoft It doesn't help. I don't see My Convoy app. I filled out almost all fields...

walrus543 avatar Apr 22 '16 18:04 walrus543

Then it might be the app really is incompatible with your device. Maybe check with the dev, something might have changed in the app's definition. If the dev tells you what is set, you could manipulate the build.prop used with DummyDroid to make it match.

IzzySoft avatar Apr 22 '16 19:04 IzzySoft

There are other apps that I don't see, especially games, custom themes,...

walrus543 avatar Apr 22 '16 19:04 walrus543

Some Android device details are not readable from build.prop, including supported OpenGL extensions (required by games) and custom features (required by themes).

I don't know how dummydroid works, but if there is public interest I'll build up a small utility app that generates an android id matching the device.

mar-v-in avatar Apr 22 '16 19:04 mar-v-in

@mar-v-in certainly cannot hurt if microG ships its own tool for that.

As for DummyDroid, the sources are available at Github. It reads all data from the build.prop you offer it, and lets you edit the data (change it, fill gaps), mostly via forms. For OpenGL there's ro.opengles.version from the build.prop; you can add more parameters manually if you know them. Finally, it asks you for login data, and then comes back with the GF android_id.

IzzySoft avatar Apr 22 '16 20:04 IzzySoft

I tried using the android id in /data/data/com.google.android.gms/shared_preferences/checkin.xml, obviously I converted it from decimal to hexdecimal, I can login in the store and I can find every app but it crashes when I try to install everything.

For now I'm using the android id from DummiDroid, it works but I can't find a lot of apps.

Any idea?

tecufanujacu avatar May 13 '16 13:05 tecufanujacu

Are you using the latest version of BlankStore (v0.7.5 currently)?

IzzySoft avatar May 13 '16 14:05 IzzySoft

Hi, IzzySoft, glad to see you, I just read you in the GadgetBridge github, anyway I'm using the latest version of BlanKstore, v0.7.5. The problem is that using the android id from /checkin.xml I can see all the apps available for my phone, for example TomTom GO, but when I try to install an app the BlankStore crashes, instead using the android id from DummiDroid I have not problems installing the apps but a lot of apps are missing for example I can't find TomTom GO.

tecufanujacu avatar May 13 '16 16:05 tecufanujacu

@tecufanujacu Ah, OK – that's a different case then. A (pastebin'd or attached) logcat might prove helpful then. As I wrote, I'm using the DummyDroid generated ID without any issues. May I also suggest to edit your initial post to include device, Android-Version, ROM (stock/custom/…), and the fact you're using the latest BlankStore – so the core data are where one looks first?

Speaking of Gadgetbridge: Somehow a related project, so the privacy-aware meet on both ends :) I hope they consider the addon idea (maybe you leave a thumbs-up on my corresponding post there as well to increase weight?) I really like the Pebble Time Steel – but without any network capabilities it's not even half as smart as it could be, and using the official Pebble app to get those capabilities would be a privacy nightmare.

IzzySoft avatar May 13 '16 18:05 IzzySoft

I don't think that is a my problem, instead I think that this is a problem related to the android id and for this the small utility app that generates an android id matching the device provided by mar-v-in would be great.

In these posts I only wanted report that the android id in /checkin.xml crashes the blankstore.

tecufanujacu avatar May 14 '16 11:05 tecufanujacu

I should have the id for a new smartphone but DummyDroid no longer works: https://github.com/onyxbits/dummydroid/issues/4

What can I do?

tecufanujacu avatar Jun 03 '16 14:06 tecufanujacu

@mar-v-in A tool generating a matching ID (with eventually some random bytes as for μG) without having to register through μG would be very nice indeed!

ArchangeGabriel avatar May 31 '17 11:05 ArchangeGabriel

Ping.

ArchangeGabriel avatar Jul 02 '17 15:07 ArchangeGabriel