Thanks Razem that’s a great reply. It’s probably a tough thing to get right without the resources of a Google, Samsung, Apple etc. where they can just throw enormous amounts of money at the software to get the most out of the hardware,
Is it possible to install gcam in parallel with stock?
I tried the Gcam Service provider, but is always says:
“App not installed as package conflicts with an exiting package.” (I should use the photos apk in my case I assume, but the basic apk shows the same problem)
Wondering what the package name of it it is and why it thinks, that it is is already there
Are you trying to install the app-photos-release.apk version? That one get’s installed as com.google.android.apps.photos (the other one as de.lukaspieper.gcam.services rather unlikely to conflict with sth).
I’m not sure if CalyxOS ships with GCam Photos Preview installed by default, either search for it in the settings or use adb shell pm list packages -f com.google.android.apps.photos.
That’s using the same package name as the GCam Services Provider “photos” version to achieve the same thing, faking Google Photos.
Edit: Ah, sorry didn’t read that second part that both show the same behaviour
Interesting, you don’t have microG installed at the moment, right?
Were you able to simply uninstall it or did you use pm uninstall --user 0 com.google.android.apps.photos? If it’s the latter have a look at the earlier discussions in this topic, starting here.
Could you check the path that’s installed to? pm list packages -f gsf (you don’t need to pipe to grep, pm will just search on its own).
The microG one is located in /product/app/GsfProxy/GsfProxy.apk, so clearly recognizable.
No microG but GsfProxy, interesting. Maybe the Calyx setup wizard only disables it and it somehow got reenabled, not exactly sure how they implemented that
In any case, since you are running Magisk, I’d just create an overlay module to remove those apps, easier to revert if things go sideways.
Create a folder for it su -c mkdir /data/adb/modules/NoG
Create empty subfolders for gsf su -c mkdir -p /data/adb/modules/NoG/system/product/app/GsfProxy and have it replace the system one su -c touch /data/adb/modules/NoG/system/product/app/GsfProxy/.replace
Remove the updates for Google Photos pm uninstall-system-updates com.google.android.apps.photos, check it’s path pm list packages -f com.google.android.apps.photos and repeat the previous step with that information
Reboot, check if both apps are gone and try installing Gcam Service Provider again
On of Magisk’s features is to create an overlay file system which lets you modify / replace system files without touching the underlying file system.
touch /data/adb/modules/NoG/system/product/app/GsfProxy/.replace creates a file that just tells Magisk to overlay your empty folder over the system one, effectively masking its real content while Magisk is active. (Magisk - The Magic Mask for Android, as the tagline says )
Have a look at the documentation if you want to dive in deeper. (had a look myself and noticed a little error in the paths in the previous post, which I’ve corrected )
After a reboot your system sees the folder you created, which in this case makes it appear like GsfProxy.apk isn’t installed, enabling you to install your Gcam helpers which might have conflicted with it.
NoG/ is just what I named the module, since you want even less than microG
Feel free to call it whatever you like.
NoG/system is where you put stuff for Magisk to overlay over the real /system folder. Have a look at the real /system folder on your phone, there are symlinks to /product, /system_ext and /vendor in there. Magisk expects you to prefix /system if you want to change something in those folders.
From the docs:
If you want to replace files in /vendor, /product, or /system_ext, please place them under system/vendor, system/product, and system/system_ext respectively. Magisk will transparently handle whether these partitions are in a separate partition or not.
When I try: adb shell pm uninstall-system-updates com.google.android.apps.photos
Exception occurred while executing 'uninstall-system-updates':
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.pm.ApplicationInfo.isUpdatedSystemApp()' on a null object reference
I don’t know if this is really necessary as the CalyxOS Gcam Service Provider already represents this package. I will reboot and give GCam another try.