Flexible eSIM Transfer

Choose which real eUICC receives Android’s native eSIM transfers and new Google SIM Manager downloads—including removable SIM-form-factor eUICCs. Includes a card/port picker, optional session preservation, and private diagnostic export.

Before you use it

You can lose access to your eSIM and cellular service. A transfer may deactivate the source profile or consume an activation code even if the download fails. Recovery may require your carrier to reissue the eSIM and may incur fees; this module cannot guarantee recovery.

Test with a recoverable, nonessential line first. Arrange another way to communicate and access your carrier account. You are responsible for your testing, backups, recovery arrangements and decision to use this software. It is provided “AS IS”, without warranty, under the MIT License, including its limitation of liability to the extent permitted by law.

Choose one version

Download from Releases. Every release includes both alternatives at the same version, with SHA-256 checksums. Neither requires the other.

Version Requirements Configuration
APK Root + Vector or another libxposed API 101 framework Included app
Zygisk ZIP KernelSU Manager + a Zygisk API 5 provider Module WebUI

Both require Android 13+, Google SIM Manager/Play services, and a real eUICC recognized by Android on an active modem port. Carrier and device transfer support still apply. Enable only one routing backend. Settings are independent.

Quick start

  1. APK: install and enable it for owner-user SIM Manager and Google Play services. Add Phone scope if using session preservation. ZIP: install through KernelSU Manager, then open its WebUI.
  2. Activate using your device’s supported restart procedure. Preserve temporary root where applicable; restarting Phone interrupts cellular service.
  3. Refresh cards, choose the destination and active port, then confirm. Manual EID entry is also available. Enable Preserve card session if your card needs a continuous authentication channel.
  4. Restart affected processes after changing settings. Start a fresh transfer or download through Android’s normal SIM settings and verify service afterward.
  5. To stop routing, choose Off / forget destination and restart again.

Routing affects all new SIM Manager downloads, including QR downloads. A port index is not a physical slot number. See the usage guide for activation, card selection and switching backends.

Compatibility and support

Incoming transfers and transfers back to an iPhone have been reported working with the Vector route. The standalone Zygisk route still needs device validation. Play Integrity interference remains unresolved; no integrity verdict is promised.

Both interfaces provide Start / Stop / Review / Export / Delete diagnostics. Recording is opt-in, redacted and bounded; nothing uploads automatically. Review exports before attaching them to a GitHub issue. Do not share EIDs, activation codes, QR codes or account credentials.

The interface currently uses English. Build/release instructions and dependency licenses are available separately. Third-party components retain their own licenses.

Releases

0.5.4

Stable

11/10/2026, 7:12:20 AM

Flexible eSIM Transfer 0.5.4

Fix standalone application startup when another hook engine deoptimizes
Instrumentation.newApplication. Bootstrap now hooks Application.attach once,
passes the real context directly to the shared router, and starts Phone inventory
only after native attachment succeeds. Application-construction callers are
deoptimized to prevent inlining from bypassing attachment. Native exceptions
remain unchanged. The companion-owned settings transport and fail-closed guards
from 0.5.3 are retained. Settings, profiles, scopes and restart behavior are
unchanged.

Two independent alternatives, included together in every release:

  • FlexibleEsimTransfer.apk — existing Vector/libxposed route, with its own
    settings, card picker and private diagnostic recorder.
  • FlexibleEsimTransfer-Zygisk.zip — standalone KernelSU WebUI and native
    Zygisk/LSPlant backend. No Flexible eSIM Transfer APK or Vector required.
  • Both use versionCode 12, version 0.5.4, and have individual SHA-256 files.
  • Concise setup documentation and visible eSIM-loss warnings in both interfaces.
    Test a recoverable line first; recovery and use are your responsibility under
    the existing MIT warranty/liability terms.

Both routes share real destination/port selection, fail-closed download guards,
optional native card-session preservation and bounded redacted diagnostics.
The ZIP targets owner-user Phone, SIM Manager and Play services main/UI only;
other processes are rejected before Java/ART initialization. Its native bootstrap
still passes through the Zygisk provider before rejected processes unload it.

Use one backend at a time. New versions detect both implementations in the
same process and block routing; older APKs lack this guard. Settings remain
independent. No installer or UI silently disables modules, changes scope, migrates
preferences, restarts Android, or operates on SIM profiles.

Requires Android 13+, Google SIM Manager/Play services and a real Android-visible
active eUICC. The APK needs a libxposed API 101 framework. The ZIP needs KernelSU
Manager and a Zygisk API 5 provider. ZIP settings/diagnostics are root-only;
uninstall retains them. Export/delete/forget are explicit choices.

The startup correction has host/build checks; device activation, inventory,
carrier-transfer and integrity validation remain pending
. Play Integrity
interference remains unresolved; no DEVICE/STRONG result is promised. Native authorization, signed data, card errors
and carrier eligibility are not bypassed. Activation requires the device’s
supported restart procedure; preserve temporary root where applicable.

Assets

4

0.5.1

Stable

11/9/2026, 4:10:47 AM

Flexible eSIM Transfer 0.5.1

Fix standalone startup on ART libraries with compressed MiniDebugInfo. Required
private symbols are now resolved from bounded, validated .gnu_debugdata as well
as ordinary ELF symbol tables. Adds redacted bootstrap-stage and inventory-socket
readiness markers; no destination, profile, scope or restart changes.

Two independent alternatives, included together in every release:

  • FlexibleEsimTransfer.apk — existing Vector/libxposed route, with its own
    settings, card picker and private diagnostic recorder.
  • FlexibleEsimTransfer-Zygisk.zip — standalone KernelSU WebUI and native
    Zygisk/LSPlant backend. No Flexible eSIM Transfer APK or Vector required.
  • Both use versionCode 9, version 0.5.1, and have individual SHA-256 files.
  • Concise setup documentation and visible eSIM-loss warnings in both interfaces.
    Test a recoverable line first; recovery and use are your responsibility under
    the existing MIT warranty/liability terms.

Both routes share real destination/port selection, fail-closed download guards,
optional native card-session preservation and bounded redacted diagnostics.
The ZIP targets owner-user Phone, SIM Manager and Play services main/UI only;
other processes are rejected before Java/ART initialization. Its native bootstrap
still passes through the Zygisk provider before rejected processes unload it.

Use one backend at a time. New versions detect both implementations in the
same process and block routing; older APKs lack this guard. Settings remain
independent. No installer or UI silently disables modules, changes scope, migrates
preferences, restarts Android, or operates on SIM profiles.

Requires Android 13+, Google SIM Manager/Play services and a real Android-visible
active eUICC. The APK needs a libxposed API 101 framework. The ZIP needs KernelSU
Manager and a Zygisk API 5 provider. ZIP settings/diagnostics are root-only;
uninstall retains them. Export/delete/forget are explicit choices.

The standalone route has host/build checks, not yet live ART, carrier-transfer
or integrity validation
. Play Integrity interference remains unresolved; no
DEVICE/STRONG result is promised. Native authorization, signed data, card errors
and carrier eligibility are not bypassed. Activation requires the device’s
supported restart procedure; preserve temporary root where applicable.

Assets

4

0.5.0

Stable

11/7/2026, 5:48:37 PM

Flexible eSIM Transfer 0.5.0

Two independent alternatives, included together in every release:

  • FlexibleEsimTransfer.apk — existing Vector/libxposed route, with its own
    settings, card picker and private diagnostic recorder.
  • FlexibleEsimTransfer-Zygisk.zip — standalone KernelSU WebUI and native
    Zygisk/LSPlant backend. No Flexible eSIM Transfer APK or Vector required.
  • Both use versionCode 8, version 0.5.0, and have individual SHA-256 files.
  • Concise setup documentation and visible eSIM-loss warnings in both interfaces.
    Test a recoverable line first; recovery and use are your responsibility under
    the existing MIT warranty/liability terms.

Both routes share real destination/port selection, fail-closed download guards,
optional native card-session preservation and bounded redacted diagnostics.
The ZIP targets owner-user Phone, SIM Manager and Play services main/UI only;
other processes are rejected before Java/ART initialization. Its native bootstrap
still passes through the Zygisk provider before rejected processes unload it.

Use one backend at a time. New versions detect both implementations in the
same process and block routing; older APKs lack this guard. Settings remain
independent. No installer or UI silently disables modules, changes scope, migrates
preferences, restarts Android, or operates on SIM profiles.

Requires Android 13+, Google SIM Manager/Play services and a real Android-visible
active eUICC. The APK needs a libxposed API 101 framework. The ZIP needs KernelSU
Manager and a Zygisk API 5 provider. ZIP settings/diagnostics are root-only;
uninstall retains them. Export/delete/forget are explicit choices.

The standalone route has host/build checks, not yet live ART, carrier-transfer
or integrity validation
. Play Integrity interference remains unresolved; no
DEVICE/STRONG result is promised. Native authorization, signed data, card errors
and carrier eligibility are not bypassed. Activation requires the device’s
supported restart procedure; preserve temporary root where applicable.

Assets

4