Hey
@logopek
Thanks for the tutorial, for some reason this info is hard to come by. It also seems like they're actually targeting higher SDK versions than 23 but I can't confirm. I just know that I had quite a few app installs blocked when I upgraded to the Pixel 8 Pro last month and they were all recent apps. If it were 1 or 2, ok but this was like 1 in 10 (of 600+).
Anyway, this policy aggravates me (especially if they're overreaching and blocking sideloading for apps newer than A6) but what has me at my wit's end is the fact that these supposed workarounds are not working around ****.
I already knew the ADB install command but you introduced me to the pm install command option. Sadly, both fail.
The former returns a "Performing Streamed Install" message, but it does so
after stating "cannot stat [apk_name].apk: no such file or folder." I tried with the apk file in my downloads folder, in /storage/emulated/0 (internal storage) and both with and without the absolute path for each and I still got the same "no such file or folder" message, preceding, "Performing Streamed Install"
The pm install option that your introduced me to with this thread fails in a different way (I renamed the APK file to simply "gd.apk" to minimize the chance of fat finger syndrome being the cause of my woes, i.e., user error):
[root@machine_name]# adb shell pm install --bypass-low-target-sdk-block /storage/emulated/0/gd.apk
avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:fuse:s0 tclass=file permissive=0System server has no access to read file context u:object_r:fuse:s0 (from path /storage/emulated/0/gd.apk, context u:r:system_server:s0)
Error: Unable to open file: /storage/emulated/0/gd.apk
Consider using a file under /data/local/tmp/
Error: Can't open file: /storage/emulated/0/gd.apk
Exception occurred while executing 'install':
java.lang.IllegalArgumentException: Error: Can't open file: /storage/emulated/0/gd.apk
at com.android.server.pm.PackageManagerShellCommand.setParamsSize(PackageManagerShellCommand.java:688)
at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1557)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1523)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:236)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:6350)
at android.os.Binder.shellCommand(Binder.java:1068)
at android.os.Binder.onTransact(Binder.java:888)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4352)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6334)
at android.os.Binder.execTransactInternal(Binder.java:1344)
at android.os.Binder.execTransact(
Binder.java:1275)
You don't see the -c argument because it wasn't recognized... I'm using a Linux machine, not sure if you were possibly using a Windows PC or perhaps even running the commands in your phone with LADB but without it, it seemed good but just refused to read the file. As before, I tried with and without the absolute file path in addition to in my Download folder where it resides by default and also moving it to /storage/emulated/0 - still no joy.
I doubt it is of any consequence but the pm install option returned 2 different errors, which may have been because I tried it with both sudo and su but in addition to the error output above, it returned the same error but without the beginning bit:
avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:object_r:fuse:s0 tclass=file permissive=0System server has no access to read file context u:object_r:fuse:s0 (from path /storage/emulated/0/gd.apk, context u:r:system_server:s0)
also, in case it's relevant; I tried both commands (in all possible ways) using LADB (so using the target Device without a PC, which works flawlessly for every other ADB command), using wireless debugging (conventional approach, via PC) and the old fashioned way (wired usb→PC, access ADB via terminal). The only other thing to note is, as mentioned above, instances where a PC was used were done on a Linux machine, not Windows or Mac
Anyway, sorry for the novel-length post but I've been dealing with this for months now or for however long I've been on Android 14 and it's driving me NUTS. This is the most upset I've been with Android, maybe ever, and it's mostly because there is a given workaround that just doesn't work for me at all. Also because there's next to nobody talking about this on the internet and I can't wrap my head around that. We can't be the only ones that sideload apps. I can't speak for you but I have hundreds of sideloaded apps, mostly due to this type of bull**** that has me fed up with anything Google to the extent that I avoid using any of their services unless absolutely necessary, e.g., if an app has a GitHub page or it's hosted on F-Droid, I'll much sooner download the app from those sources than Google Play. Sure, this introduces a number of headaches, namely around updates, but so does Google ¯\_(ツ)_/¯