Bypass Google And Install Any APK You Want On The Device You Own.
anyapk is a lightweight Android application installer that bypasses Google's developer verification requirements by using local ADB (Android Debug Bridge) connections. Smoothly install any APK file on your device without restrictions, gatekeepers, or corporate approval.
Open any APK, pick anyapk instead of the Package installer, and it installs.
Android devices belong to their users, not corporations or governments. Yet with each passing year, installing applications on your own device becomes more restricted, more cumbersome, and more dependent on the approval of gatekeepers who do not have your best interests at heart.
anyapk returns control to where it belongs: in your hands.
When a corporation becomes a gatekeeper, they don't stand alone at the gate. Their partners become gatekeepers. Government jurisdictions become gatekeepers. And suddenly, what began as a "quality control measure" transforms into a lever of control.
This lever has been used by repressive governments to deny citizens access to free communication tools. It has been used to block applications that challenge power structures. It has been used to enforce geographic restrictions that serve business interests rather than user needs.
Application freedom is user freedom.
Every barrier placed between you and the software you choose to run is a barrier to your digital autonomy. Every verification requirement is a chokepoint where control can be exercised. Every "safety measure" that requires corporate or governmental approval is a potential tool of censorship.
We built anyapk because we believe:
If you believe software should serve users rather than control them, anyapk is for you.
Anyapk is not a solution to the problem - it's a tool that helps you bypass the problem. A real solution is competent government regulation that protects users from unfair and anti-competitive lockdown practices. Learn more about how Google is restricting your freedoms and how you can fight back at keepandroidopen.org.
.apks, .apkm and .xapk install as a single session, with only the splits your device actually needs.obb files are copied into place over ADB, including the ones bundled inside an .xapkDownload the latest APK from the Releases page. There is one build per
CPU architecture — take arm64-v8a unless you know otherwise, since it covers virtually
every phone made in the last decade:
| File | For |
|---|---|
anyapk-<version>-arm64-v8a.apk | Almost all phones and tablets |
anyapk-<version>-armeabi-v7a.apk | Older 32-bit devices |
anyapk-<version>-x86_64.apk | Emulators, x86 Chromebooks |
anyapk-<version>-universal.apk | Works everywhere, roughly twice the size |
Open the APK file on your device
Grant installation permissions if prompted
Welcome to application freedom
Once installed, anyapk's self-updater picks the right build for your device on its own.
If you can't install the APK directly (due to existing restrictions), use ADB from your computer. This is the last time you'll need to do this the hard way.
Prerequisites:
Steps:
Enable Developer Options on your device:
Enable USB Debugging:
Connect your device to your computer via USB
Install anyapk using ADB:
adb install anyapk-<version>-arm64-v8a.apk
You're done! You won't need ADB from your computer again.
Tap Start Pairing. anyapk posts a pairing notification and opens Developer Options for you.
Scroll to the Debugging section, turn on Wireless debugging, then tap the row to open it. Approve your WiFi network if prompted.
Tap Pair device with pairing code — not the QR code option.
A dialog shows your 6-digit pairing code. Don't dismiss it and don't leave Settings.
[!IMPORTANT] The pairing code dialog must stay open and visible behind the notification shade the whole time. Android only advertises the pairing service while that dialog is on screen — if you close it or back out of Settings to switch to anyapk, the code dies with it and pairing will fail. Pull the shade down over the dialog; don't leave the screen.
Pull down the notification shade, find the anyapk notification, tap Reply, type the 6 digits, and send. anyapk pairs and pulls itself back to the foreground.
Approve the "Allow USB debugging?" prompt — check "Always allow from this computer" and tap Allow. If no prompt appears, tap Test Connection in anyapk to trigger it.
That's it! anyapk is now permanently connected and ready to use.
Once paired, installing APK files is effortless:
| Format | What it is | What anyapk does |
|---|---|---|
.apk | A single app package | Installs it |
.apks | An APK set from bundletool or SAI | Installs the base plus the splits that match this device |
.apkm | APKMirror's bundle | Same |
.xapk | APKPure's bundle | Same, then copies any expansion files it carries |
.obb | An expansion file on its own | Copies it to Android/obb/<package>/ |
.aab | An Android App Bundle | Nothing — see below |
anyapk goes by what's inside the file, not the extension, so a bundle saved under the wrong name still installs.
On split selection. A bundle carries a separate APK per CPU architecture, screen density and language. anyapk installs the base, every feature split, the one architecture your device runs, the density bucket that matches your screen, and your device's languages (English always tags along, since it's what most apps fall back to). Anything it can't classify is installed rather than dropped.
On .aab. An Android App Bundle is a build artifact for Google Play, not an installable package — Play converts it into APKs before it ever reaches a device, using bundletool and the developer's signing key. Neither lives on your phone. Convert it on a computer first:
bundletool build-apks --bundle=app.aab --output=app.apks --mode=universal
then open the resulting .apks in anyapk. Opening an .aab directly gets you this explanation rather than a silent failure.
Open the menu (⋮) on the main screen and choose Settings:
anyapk uses LibADB Android to establish a local ADB connection via wireless debugging. It finds the pairing and connection ports itself over mDNS - that's why you only ever type a 6-digit code, never a port. Once paired, it maintains the connection and can install any APK file using the ADB install protocol - the same method developers use, but running entirely on your device.
Bundles go through the same connection using a package installer session: anyapk opens one with install-create, streams each split straight out of the archive with install-write, and finalizes with install-commit. Nothing is unpacked to disk, so installing a 2 GB .xapk needs no more free space than the file itself, and a session that can't be finished is abandoned rather than left holding space on the device. Expansion files go the same way — the app's own sandbox can't write to another package's Android/obb/ directory, but the ADB shell still can.
No internet connection required. No cloud services. No remote servers. Just you and your device. (The optional update check is the one exception - it contacts GitHub, and you can turn it off in Settings.)
INTERNET - For local ADB socket connectionACCESS_NETWORK_STATE - To detect network availabilityREQUEST_INSTALL_PACKAGES - To initiate APK installationsPOST_NOTIFICATIONS - To show the pairing notification you reply toFOREGROUND_SERVICE - To keep pairing discovery alive while you're in SettingsKey Dependencies:
anyapk runs entirely on your device. It:
The only network request anyapk makes off your local network is the update check, which asks the GitHub releases API for the latest version number. It sends nothing about you or what you've installed, and you can disable it in Settings → Auto-update. Installing APKs never leaves your device.
Your activity is your business, not ours.
"Setup Required" stays visible even after enabling wireless debugging:
"Stream closed" error during installation:
Can't find the pairing dialog in Settings:
No anyapk notification to reply to:
Pairing fails every time:
Installation fails with "ADB unauthorized":
This project is open source under the Apache 2.0 license. Use it, modify it, share it. Free software for free people. It uses AdbMdns class from Shizuku, published under Apache 2.0 license.
Contributions are welcome! Whether it's bug fixes, feature additions, or documentation improvements, help us make application freedom more accessible.
This is a tool built by users, for users. If it helps you, share it with others who value digital freedom.
Remember: Your device. Your choice. Your freedom.
45 commits
2 commits
Kotlin
100.0%
Bypass Google And Install Any APK You Want On The Device You Own.
anyapk is a lightweight Android application installer that bypasses Google's developer verification requirements by using local ADB (Android Debug Bridge) connections. Smoothly install any APK file on your device without restrictions, gatekeepers, or corporate approval.
Open any APK, pick anyapk instead of the Package installer, and it installs.
Android devices belong to their users, not corporations or governments. Yet with each passing year, installing applications on your own device becomes more restricted, more cumbersome, and more dependent on the approval of gatekeepers who do not have your best interests at heart.
anyapk returns control to where it belongs: in your hands.
When a corporation becomes a gatekeeper, they don't stand alone at the gate. Their partners become gatekeepers. Government jurisdictions become gatekeepers. And suddenly, what began as a "quality control measure" transforms into a lever of control.
This lever has been used by repressive governments to deny citizens access to free communication tools. It has been used to block applications that challenge power structures. It has been used to enforce geographic restrictions that serve business interests rather than user needs.
Application freedom is user freedom.
Every barrier placed between you and the software you choose to run is a barrier to your digital autonomy. Every verification requirement is a chokepoint where control can be exercised. Every "safety measure" that requires corporate or governmental approval is a potential tool of censorship.
We built anyapk because we believe:
If you believe software should serve users rather than control them, anyapk is for you.
Anyapk is not a solution to the problem - it's a tool that helps you bypass the problem. A real solution is competent government regulation that protects users from unfair and anti-competitive lockdown practices. Learn more about how Google is restricting your freedoms and how you can fight back at keepandroidopen.org.
.apks, .apkm and .xapk install as a single session, with only the splits your device actually needs.obb files are copied into place over ADB, including the ones bundled inside an .xapkDownload the latest APK from the Releases page. There is one build per
CPU architecture — take arm64-v8a unless you know otherwise, since it covers virtually
every phone made in the last decade:
| File | For |
|---|---|
anyapk-<version>-arm64-v8a.apk | Almost all phones and tablets |
anyapk-<version>-armeabi-v7a.apk | Older 32-bit devices |
anyapk-<version>-x86_64.apk | Emulators, x86 Chromebooks |
anyapk-<version>-universal.apk | Works everywhere, roughly twice the size |
Open the APK file on your device
Grant installation permissions if prompted
Welcome to application freedom
Once installed, anyapk's self-updater picks the right build for your device on its own.
If you can't install the APK directly (due to existing restrictions), use ADB from your computer. This is the last time you'll need to do this the hard way.
Prerequisites:
Steps:
Enable Developer Options on your device:
Enable USB Debugging:
Connect your device to your computer via USB
Install anyapk using ADB:
adb install anyapk-<version>-arm64-v8a.apk
You're done! You won't need ADB from your computer again.
Tap Start Pairing. anyapk posts a pairing notification and opens Developer Options for you.
Scroll to the Debugging section, turn on Wireless debugging, then tap the row to open it. Approve your WiFi network if prompted.
Tap Pair device with pairing code — not the QR code option.
A dialog shows your 6-digit pairing code. Don't dismiss it and don't leave Settings.
[!IMPORTANT] The pairing code dialog must stay open and visible behind the notification shade the whole time. Android only advertises the pairing service while that dialog is on screen — if you close it or back out of Settings to switch to anyapk, the code dies with it and pairing will fail. Pull the shade down over the dialog; don't leave the screen.
Pull down the notification shade, find the anyapk notification, tap Reply, type the 6 digits, and send. anyapk pairs and pulls itself back to the foreground.
Approve the "Allow USB debugging?" prompt — check "Always allow from this computer" and tap Allow. If no prompt appears, tap Test Connection in anyapk to trigger it.
That's it! anyapk is now permanently connected and ready to use.
Once paired, installing APK files is effortless:
| Format | What it is | What anyapk does |
|---|---|---|
.apk | A single app package | Installs it |
.apks | An APK set from bundletool or SAI | Installs the base plus the splits that match this device |
.apkm | APKMirror's bundle | Same |
.xapk | APKPure's bundle | Same, then copies any expansion files it carries |
.obb | An expansion file on its own | Copies it to Android/obb/<package>/ |
.aab | An Android App Bundle | Nothing — see below |
anyapk goes by what's inside the file, not the extension, so a bundle saved under the wrong name still installs.
On split selection. A bundle carries a separate APK per CPU architecture, screen density and language. anyapk installs the base, every feature split, the one architecture your device runs, the density bucket that matches your screen, and your device's languages (English always tags along, since it's what most apps fall back to). Anything it can't classify is installed rather than dropped.
On .aab. An Android App Bundle is a build artifact for Google Play, not an installable package — Play converts it into APKs before it ever reaches a device, using bundletool and the developer's signing key. Neither lives on your phone. Convert it on a computer first:
bundletool build-apks --bundle=app.aab --output=app.apks --mode=universal
then open the resulting .apks in anyapk. Opening an .aab directly gets you this explanation rather than a silent failure.
Open the menu (⋮) on the main screen and choose Settings:
anyapk uses LibADB Android to establish a local ADB connection via wireless debugging. It finds the pairing and connection ports itself over mDNS - that's why you only ever type a 6-digit code, never a port. Once paired, it maintains the connection and can install any APK file using the ADB install protocol - the same method developers use, but running entirely on your device.
Bundles go through the same connection using a package installer session: anyapk opens one with install-create, streams each split straight out of the archive with install-write, and finalizes with install-commit. Nothing is unpacked to disk, so installing a 2 GB .xapk needs no more free space than the file itself, and a session that can't be finished is abandoned rather than left holding space on the device. Expansion files go the same way — the app's own sandbox can't write to another package's Android/obb/ directory, but the ADB shell still can.
No internet connection required. No cloud services. No remote servers. Just you and your device. (The optional update check is the one exception - it contacts GitHub, and you can turn it off in Settings.)
INTERNET - For local ADB socket connectionACCESS_NETWORK_STATE - To detect network availabilityREQUEST_INSTALL_PACKAGES - To initiate APK installationsPOST_NOTIFICATIONS - To show the pairing notification you reply toFOREGROUND_SERVICE - To keep pairing discovery alive while you're in SettingsKey Dependencies:
anyapk runs entirely on your device. It:
The only network request anyapk makes off your local network is the update check, which asks the GitHub releases API for the latest version number. It sends nothing about you or what you've installed, and you can disable it in Settings → Auto-update. Installing APKs never leaves your device.
Your activity is your business, not ours.
"Setup Required" stays visible even after enabling wireless debugging:
"Stream closed" error during installation:
Can't find the pairing dialog in Settings:
No anyapk notification to reply to:
Pairing fails every time:
Installation fails with "ADB unauthorized":
This project is open source under the Apache 2.0 license. Use it, modify it, share it. Free software for free people. It uses AdbMdns class from Shizuku, published under Apache 2.0 license.
Contributions are welcome! Whether it's bug fixes, feature additions, or documentation improvements, help us make application freedom more accessible.
This is a tool built by users, for users. If it helps you, share it with others who value digital freedom.
Remember: Your device. Your choice. Your freedom.
45 commits
2 commits
Kotlin
100.0%