ShizuStore

Porter

d4rken-org

0.8.0-rc0 · GitHub

Download APK
Shizuku implementations Android 7.0+ 2 days ago Apache-2.0
440 ShizuStore
2.5k GitHub
69 Stars
4 MB Size

More about this app

Minimal, maintained Shizuku fork that gives apps ADB access with optional root, plus a compatibility companion for Shizuku-only apps

Porter banner

Porter

ADB access for your apps.

Porter is a minimal, maintained fork of Shizuku that gives Android apps ADB access through the Shizuku APIs, with optional root support.

Use it with compatible apps to manage other apps and access additional files. You choose which apps get access.

Why Porter exists

I use Shizuku in my own apps, SD Maid SE and Butler. The original Shizuku app was no longer actively maintained, so I started Porter to keep a minimal, stable and maintained alternative available for apps that need ADB access.

Get started

  1. Install Porter from GitHub Releases.
  2. Start Porter and follow the in-app instructions (detailed guide).
  3. Grant access to the apps that ask for it.

To verify the authenticity of a downloaded APK, see SECURITY.md.

Requirements: Android 7.0 or newer, plus either a computer, Android 11 or newer with wireless debugging, or a rooted device.

Porter's service stops when the device restarts. Start it again afterwards.

Using apps that support Shizuku

Apps with built-in Porter support only need Porter.

Apps that only support Shizuku need the Porter Compatibility companion, included in the Porter download. Start Porter, open Shizuku compatibility from the home screen and follow the instructions.

If Shizuku is installed, leave it installed: that screen offers to replace it and carry over your existing access choices.

Choose the right setup for your apps.

For users

Read the Porter user guide, available in ten languages with automatic language selection.

For developers

Other app developers are welcome to support Porter's permission directly. Add direct Porter support to your app.

Screenshots

About

Porter builds on RikkaApps/Shizuku and the maintenance work by thedjchi and contributors. It is not affiliated with the original Shizuku maintainers.

Porter's code is available under Apache 2.0; the bundled Shizuku API uses the MIT license. See NOTICE for attribution.

Close

How Shizuku is used

Can install and remove the compatibility companion via `pm install` and `pm uninstall`, stop the original service via `ps`, `cat` and `kill`, stream service logs via `logcat` and update the service vi

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Porter uses its privileged ADB level service to manage Shizuku compatibility for other apps and to maintain and diagnose itself.

  • Install companion app: installs or reinstalls the bundled compatibility companion with the pm install shell command through the privileged process, then imports saved access choices and refreshes the setup.
  • Remove companion app: removes the original Shizuku app or the compatibility companion with the pm uninstall shell command through the privileged process, after verifying the installed app identity.
  • Replace original service: finds a running original server with the ps shell command, confirms it by reading process files with the cat shell command, and stops it with the kill shell command before replacement.
  • Diagnose running service: streams the running service log with the logcat shell command run inside the sh shell command through the privileged process to capture server logs for bug reports.
  • Update running service: launches the bundled service updater binary through the privileged process to replace the running service with the installed build.

Android APIs or commands used

  • pm install
  • pm uninstall
  • ps
  • cat
  • kill
  • sh
  • logcat

Notable details

When the privileged install or removal is unavailable, the app falls back to the normal Android package installer and uninstaller screens to install or remove the companion manually. Companion install, repair and import are available only in the FOSS build when managed from the primary Android user, and are blocked while other Android users exist.

Close

Changelog

What's new for version 0.8.0-rc0

What's Changed

Full Changelog: https://github.com/d4rken-org/porter/compare/v0.7.0-rc0...v0.8.0-rc0

Close

Permissions

17 permissions requested

  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.REQUEST_DELETE_PACKAGES
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.FOREGROUND_SERVICE
  • android.permission.INTERNET
  • android.permission.USE_LOOPBACK_INTERFACE
  • android.permission.ACCESS_LOCAL_NETWORK
  • android.permission.NEARBY_WIFI_DEVICES
  • android.permission.CHANGE_WIFI_MULTICAST_STATE
  • android.permission.POST_NOTIFICATIONS
  • android.permission.ACCESS_NETWORK_STATE
  • android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.WRITE_SECURE_SETTINGS
  • eu.darken.porter.permission.MANAGER
  • android.permission.WAKE_LOCK
  • eu.darken.porter.permission.API
Close