Hey @sam1am, following up on my earlier question in #54 — I did some digging and wanted to give you the full picture, because there's actually a bit more going on than just a version number change.
My setup (for context):
Samsung Galaxy S9+ · One UI 2.5 · Android 10 (API 29) · Shizuku running via wireless ADB through the Stellar app
Problem 1: The release APK has minSdk = 30, even though the source says 23
When I inspected the manifest inside the v0.0.6 APK, minSdkVersion is set to 30 (Android 11). Android sees that and blocks the install entirely — it won't even let you tap through. The app is physically uninstallable on Android 10.
The thing is, this appears to be a build mismatch rather than intentional. Issue #13 (the IzzyOnDroid inclusion request) already flagged this — the release APK doesn't match what's in the repo at HEAD, which still has minSdk = 23. Looks like some local changes bumped it before the APK got published without being committed.
So the first fix is straightforward: make sure the release build actually reflects the source. Getting minSdk back to 23 would at least unblock installation.
Problem 2: Even if it installs, the pairing screen won't work on Android 10
This is the deeper issue. AnyAPK uses Wi-Fi ADB pairing (adb pair) to establish its connection, and that feature didn't exist until Android 11. On Android 10, there's no pairing port, no MDNS discovery — none of it. So even with a fixed minSdk, an Android 10 user would open the app, get to the pairing step, and have nothing on the other end to connect to.
This is the real blocker that needs a solution, not just the version number.
Where Shizuku comes in — and why I think it's worth considering
I've been thinking about this, and Shizuku actually seems like a really natural fit here as a fallback for Android 10 and below.
Here's the thing: Shizuku lets apps run shell-level commands without needing a PC, USB cable, or Wi-Fi pairing at all. Once Shizuku is running, an app just requests permission from the user, and then it can call pm install directly — which is exactly what anyapk is already doing through ADB anyway. Shizuku just removes the middleman.
On Android 10, Shizuku gets started once via wireless ADB (which plenty of power users already have set up — like me, using Stellar). After that, it runs in the background and doesn't need to be re-activated. The install flow would look like this for an Android 10 user:
- Start Shizuku once via wireless ADB (one-time setup, same effort as the current pairing flow)
- Open anyapk → tap "Grant" on the Shizuku permission prompt
- Install APKs from any file manager, exactly like on Android 11+
No pairing screen. No Wi-Fi debugging setup inside the app. Shizuku takes care of the elevated access, anyapk just handles the file picking and UI.
It could work as a clean two-path setup: Android 11+ uses the current Wi-Fi ADB pairing flow, Android 10 and below falls back to Shizuku. Users who already have Shizuku running (which is common for anyone doing serious sideloading on older hardware) would be up and running with zero friction.
One small thing I noticed: the app already declares android.permission.DUMP in its manifest, which is a privileged permission that Shizuku-based apps often need. That's a minor sign that the groundwork might not be far off.
Other small things I noticed while looking at the APK
| Finding |
Details |
| Release minSdk |
Set to 30 in the APK — blocks install on Android 10 |
| Source minSdk |
Set to 23 at HEAD — release just needs to match |
| Wi-Fi ADB pairing |
Android 11+ only — no fallback for Android 10 and below |
POST_NOTIFICATIONS permission |
Android 13+ feature — might be worth a version check so it doesn't cause any weirdness on older Android |
READ/WRITE_EXTERNAL_STORAGE |
Declared in the manifest — these work fine on Android 10, just flagging in case storage handling needs any adjustments for older API levels |
I'm happy to test builds on my S9+ (Android 10) if that's useful — I have a full wireless ADB + Shizuku environment already running, so I can validate both the install side and any Shizuku integration you try. Just let me know!
Hey @sam1am, following up on my earlier question in #54 — I did some digging and wanted to give you the full picture, because there's actually a bit more going on than just a version number change.
My setup (for context):
Samsung Galaxy S9+ · One UI 2.5 · Android 10 (API 29) · Shizuku running via wireless ADB through the Stellar app
Problem 1: The release APK has
minSdk = 30, even though the source says23When I inspected the manifest inside the v0.0.6 APK,
minSdkVersionis set to 30 (Android 11). Android sees that and blocks the install entirely — it won't even let you tap through. The app is physically uninstallable on Android 10.The thing is, this appears to be a build mismatch rather than intentional. Issue #13 (the IzzyOnDroid inclusion request) already flagged this — the release APK doesn't match what's in the repo at HEAD, which still has
minSdk = 23. Looks like some local changes bumped it before the APK got published without being committed.So the first fix is straightforward: make sure the release build actually reflects the source. Getting
minSdkback to23would at least unblock installation.Problem 2: Even if it installs, the pairing screen won't work on Android 10
This is the deeper issue. AnyAPK uses Wi-Fi ADB pairing (
adb pair) to establish its connection, and that feature didn't exist until Android 11. On Android 10, there's no pairing port, no MDNS discovery — none of it. So even with a fixedminSdk, an Android 10 user would open the app, get to the pairing step, and have nothing on the other end to connect to.This is the real blocker that needs a solution, not just the version number.
Where Shizuku comes in — and why I think it's worth considering
I've been thinking about this, and Shizuku actually seems like a really natural fit here as a fallback for Android 10 and below.
Here's the thing: Shizuku lets apps run shell-level commands without needing a PC, USB cable, or Wi-Fi pairing at all. Once Shizuku is running, an app just requests permission from the user, and then it can call
pm installdirectly — which is exactly what anyapk is already doing through ADB anyway. Shizuku just removes the middleman.On Android 10, Shizuku gets started once via wireless ADB (which plenty of power users already have set up — like me, using Stellar). After that, it runs in the background and doesn't need to be re-activated. The install flow would look like this for an Android 10 user:
No pairing screen. No Wi-Fi debugging setup inside the app. Shizuku takes care of the elevated access, anyapk just handles the file picking and UI.
It could work as a clean two-path setup: Android 11+ uses the current Wi-Fi ADB pairing flow, Android 10 and below falls back to Shizuku. Users who already have Shizuku running (which is common for anyone doing serious sideloading on older hardware) would be up and running with zero friction.
One small thing I noticed: the app already declares
android.permission.DUMPin its manifest, which is a privileged permission that Shizuku-based apps often need. That's a minor sign that the groundwork might not be far off.Other small things I noticed while looking at the APK
POST_NOTIFICATIONSpermissionREAD/WRITE_EXTERNAL_STORAGEI'm happy to test builds on my S9+ (Android 10) if that's useful — I have a full wireless ADB + Shizuku environment already running, so I can validate both the install side and any Shizuku integration you try. Just let me know!