Sanmill App Incompatibility in Google Play Store on Devices Running LineageOS 21
Expected Behavior
The Sanmill app should be visible and downloadable from the Google Play Store on devices running LineageOS 21, similar to its availability on devices running standard Android versions.
Current Behavior
The app shows as incompatible in the Google Play Store on devices running LineageOS 21, despite functioning properly when installed manually via APK. This issue is specific to devices with LineageOS and does not occur on devices running the official Android versions.
Steps to Reproduce
- Install LineageOS 21 Nightly Build (e.g.,
lineage-21.0-20240525-nightly-bonito-signed.zip
) on a device like Google Pixel 3a XL. - Install Google services using MindTheGapps (e.g.,
MindTheGapps-14.0.0-arm64-20240225_232108.zip
). - Set up a Google account and attempt to locate the app in the Google Play Store or access it directly via the app's Play Store URL.
- Observe the incompatibility message displayed in the Google Play Store.
At least 2 users have reported this issue to me, involving 3 devices. The Google Pixel 3a XL is just one of those devices.
Device information
/device bonito /version lineage-21 /date 2024-06-01 /kernel Linux localhost 4.9.337-ga64c90281b01 #0 SMP PREEMPT Sat May 25 01:18:57 UTC 2024 aarch64 Toybox /baseband g670-00145-220106-B-8048689 /mods Google Apps, F-Droid
I have not read the directions.
AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.calcitem.sanmill">
<application
android:name="${applicationName}"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:enableOnBackInvokedCallback="true"
tools:ignore="AllowBackup,GoogleAppIndexingWarning">
<meta-data
android:name="flutterEmbedding"
android:value="2"/>
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.EDIT"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/x-chess-pgn"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2"/>
</application>
<!-- <uses-permission android:name="android.permission.INTERNET"/> -->
<queries>
<intent>
<action
android:name="android.intent.action.SENDTO"/>
<data
android:scheme="mailto"/>
</intent>
</queries>
</manifest>
Additional Information
Thank you for your response to the issue concerning the incompatibility of the Sanmill app in the Google Play Store on devices running LineageOS 21. However, there seems to be some misunderstanding or perhaps an oversight regarding the nature of the problem and how app availability is managed in the Google Play Console.
As per your response, it was mentioned that app developers have control over the devices to which their app is offered on the Play Store, including metrics that may exclude custom ROMs. However, I would like to clarify the following points:
- Device Compatibility Listing: In the Google Play Console, the Sanmill app is listed as compatible with 20,011 device models, with only 49 explicitly excluded. Notably, the Google Pixel 3a XL, among other devices running LineageOS 21, is not listed under the excluded models. This suggests that the app should theoretically be accessible to users on these devices.
- Consistent Issue Across Different Devices: This compatibility issue is not isolated to a single device model but has been consistently reported by users across different models running LineageOS 21. This indicates a broader compatibility recognition issue between the Google Play Store and LineageOS 21, rather than a specific device exclusion.
- No Exclusion Settings for Custom ROMs: There are currently no options within the Google Play Console that allow developers to specifically exclude custom ROMs like LineageOS. This absence means that any incompatibility displayed in the Google Play Store does not stem from direct actions taken within our developer settings.
Given these points, I am seeking further clarification or assistance on how we might resolve or better understand the source of this incompatibility issue. It is crucial for ensuring that our app remains accessible to all users, irrespective of the Android version or custom ROM they are using.
Additionally, I would like to emphasize the potential broader implications of this issue. If not addressed, it may lead to a significant number of apps becoming unavailable for download from the Play Store for users on LineageOS, which could adversely affect the user experience and app accessibility. This situation could potentially impact a wide range of applications and users, underscoring the urgency and importance of resolving this compatibility challenge. We hope this matter will receive the attention it merits, as it is crucial for maintaining the integrity and usability of the ecosystem for all users.
Thank you for considering this issue with the seriousness it deserves.
Could you please provide more insights or guide us on any potential steps that could be taken from your end or ours to address this discrepancy?
Thank you for your attention and support.
App Builder Explorer
can you show screenshot of google play console -> production -> app bundles -> blue arrow near the latest one with all details expanded?
4123.aab (4.10.0)
Size of newly installed apps: 17.9 MB
Number of installers: 1631
details
Update size: 467 KB
Supported Android devices: 19181
Localization: 91 localizations
af, am, ar, as, az, be, bg, bn, bs, ca, cs, da, de, el, en_AU, en_CA, en_GB, en_IN, en_US, en_XC, es, es_419, es_US, et, eu, fa, fi, fr, fr_CA, gl, gu, he, hi, hr, hu, hy, id, in, is, it, iw, ja, ka, kk, km, kn, ko, ky, lo, lt, lv, mk, ml, mn, mr, ms, my, nb, ne, nl, nn, or, pa, pl, pt, pt_BR, pt_PT, ro, ru, si, sk, sl, sq, sr, sr_Latn, sv, sw, ta, te, th, tl, tr, uk, ur, uz, vi, zh, zh_CN, zh_HK, zh_TW, zu
Permissions: com.calcitem.sanmill.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Function: android.hardware.faketouch
Screen layout: small, normal, large, xlarge
Native Platform: arm64-v8a, armeabi-v7a, x86_64
API Level: 21+
Target SDK Version: 34
OpenGL ES version: Version 0.0 and later
OpenGL Textures: No textures required
Distribute content
- 86 generated split APKs (for supported devices, targeting API level 21 and above)
1 main split APK
master
- 3 ABI Split APKs
arm64-v8a, armeabi-v7a, x86_64
- 7 density split APK
hdpi, ldpi, mdpi, tvdpi, xhdpi, xxhdpi, xxxhdpi
- 75 language split APKs
af, am, ar, as, az, be, bg, bn, bs, ca, cs, da, de, el, en, es, et, eu, fa, fi, fr, gl, gu, hi, hr, hu, hy, in, is, it, iw, ja, ka, kk, km, kn, ko, ky, lo, lt, lv, mk, ml, mn, mr, ms, my, nb, ne, nl, nn, or, pa, pl, pt, ro, ru, si, sk, sl, sq, sr, sv, sw, ta, te, th, tl, tr, uk, ur, uz, vi, zh, zu
- 1 generated standalone APK
Each standalone APK contains all available options for the following dimensions: abi, density, language.
APK
https://github.com/calcitem/Sanmill/releases/download/v4.10.0/4123.apk
Application Integrity
Enhance application integrity to protect your business and users
Google Play's integrity and signing services help you ensure that users experience your apps and games the way you intended.
Serve
2 services enabled
Play Integrity API: Integration has not started yet
Application Signature: Signed by Google Play
Visibility of product listings: Device integrity checked
Play App Signing
Signed by Google Play
With app signing, you let Google Play manage your app signing key and sign each released version of your app with that key. This ensures that all updates to your app are provided by you .
Visibility of product listings
Device integrity checked
Google Play can check that a device passes an integrity check before showing your product listing to the user. Turn on this check to reduce distribution of your app to unknown and untrusted devices. This check does not affect your app's visibility in Google Play or ranking in search results.
We will reduce the risk to apps by stopping distribution of apps from Google Play to devices and virtual environments that fail system integrity checks, do not meet Android compatibility requirements, and may not be licensed to run Google Play services. Learn more
Visibility of product listings:
-
No integrity check -
Perform a basic integrity check
Google Play checks devices for basic integrity before showing apps to users.
-
Perform a device integrity check (recommended)
Google Play checks devices for device integrity before showing apps to users.
-
Perform strong integrity checks
Google Play checks that the device meets the strong integrity requirements before showing apps to users
Reference
I cannot install some apps from Play Store
https://www.reddit.com/r/LineageOS/comments/148a79v/i_cannot_install_some_apps_from_play_store/
The discussion focuses on issues faced by users who can't install certain apps from the Google Play Store after updating to a new version of LineageOS. The main reasons suggested include the possibility that the apps are targeting device models that should officially exist or are excluding devices without proper certification. Specifically, it's mentioned that apps like Netflix won't install if the device fails certain certification tests like SafetyNet. Some users suggest downloading APKs from third-party sources as a workaround, though concerns about device safety and compatibility are raised. There's also a mention of using modules like the Universal SafetyNet Fix to address these issues, with varied success depending on the device's specific configuration and actions taken during the installation of LineageOS.
Are all play store apps compatible with Lineage OS
The discussion revolves around whether all apps from the Google Play Store are compatible with LineageOS, particularly when installed on modern devices like the Xiaomi Mi 8. The consensus is that not every app will necessarily work. While installing Google Apps (GApps) can resolve most compatibility issues, some apps may still fail due to the use of Google's SafetyNet library. SafetyNet checks if a phone has been modified and can prevent certain apps from running on devices with a custom OS like LineageOS. Additionally, even with GApps installed, there are further considerations such as the need for specific Google services or the potential use of custom checks by app developers. There are mentions of possible workarounds like Magisk Hide to bypass SafetyNet checks, but their reliability may diminish over time as Google enhances security measures.
Google Play store apps starting to detect LineageOS and preventing operation
https://www.reddit.com/r/LineageOS/comments/jckuyy/google_play_store_apps_starting_to_detect/
The discussion is centered around the growing issue of apps on Google Play Store detecting the use of LineageOS, and consequently preventing operation. Many users are frustrated as more apps, including those not requiring high-security measures, are starting to restrict access on devices running custom ROMs. The Arlo app specifically has stopped working on a user's device running LineageOS 14.1, citing security standards non-compliance due to the device being rooted, having an unlocked bootloader, or running a custom ROM. Users share their experiences with other apps and discuss potential workarounds, such as using older app versions or tools like Magisk to hide the custom ROM status. There's a call for solutions to mask the presence of custom ROMs to avoid detection, although this raises concerns about violating Android’s rules. The community expresses a need for a broader acceptance of custom ROMs to preserve user freedom against increasingly restrictive app policies.