How to edit an APK on Android without a PC
Published Nov 6, 2026 · 8 min read · Steps checked against Manifesto 1.0
Yes, you can edit an APK on Android without a PC. In Manifesto you open the APK as a project, change its Smali code, and tap Build and sign to get an installable APK. The catch: the Java view is read-only, so code edits happen in Smali. Manifesto needs Android 8.0 or newer on an arm64 phone.
This walkthrough uses an app you build yourself, or one you're allowed to modify. Only modify apps you own or have permission to analyze, and don't use these tools to get around licence checks or paid features.
What do you need to edit an APK on your phone?
Editing an APK on your phone with Manifesto needs only the app and the APK file. No computer, Java runtime or root is involved.
- A supported phone: Android 8.0 (API 26) or newer with an arm64-v8a CPU. There is no build for 32-bit ARM or x86.
- Manifesto itself: a free APK you sideload from the download page. It is not on the Play Store. See Manifesto's APK editor for Android for the full feature list.
- All-files access: Manifesto asks for it so the file manager can reach your APKs.
- An APK file: a single
.apk. Split sets (.apks,.xapk,.apkm) and.aabfiles can't be rebuilt as projects. Use Convert to APK on them first, as covered in convert an AAB to an APK on Android.
How do you modify an APK on your phone, step by step?
Modifying an APK on your phone follows the same loop as on a desktop: decode, edit, rebuild, sign. In Manifesto each step is a button.
- Get the APK. Find it in the file manager, or open the drawer, tap Installed Apps, tap the app and choose Extract APK. Extracted files go to
Manifesto/APKs. An app installed as splits comes out as an.apksset, so run Convert to APK on it first. - Open it as a project. Tap the APK to open its info sheet, then tap Options and Open as project. Long-pressing the file shows the same option.
- Decompile the code. In the Explorer tab, tap a
classes*.dexentry, tick the DEX files you need and tap Decompile. This disassembles them to Smali. - Find the code. Switch to the Search tab, set the search type to Strings for text you can see in the app, or Method names if you know the method. Smali, Class names and Symbols are there too. Tap a result to open the class.
- Read it as Java. Open the editor's Source actions menu and tap View as Java to see the JADX decompilation of the same class. View Smali source takes you back.
- Make the change in Smali. Edit the class, then tap Validate and save. The edit appears in the History tab, where you can review it before building.
- Build and sign. Tap Build and sign. Manifesto rebuilds only the DEX files you touched, re-encodes any edited resources, and writes
<name>-modified-signed.apksigned with its debug key (V1 to V3). - Install it. In the result dialog, tap Show in files, then tap the new APK and press Install.
For more on each tab, see the APK projects docs and Smali and Java docs. If you only want to read the code, decompile an APK on Android stops after step 5.
What does a simple Smali edit look like?
A simple Smali edit is often a single constant. Say a method in your own app returns a debug flag:
.method public isDebugLoggingEnabled()Z
.locals 1
const/4 v0, 0x0
return v0
.end method
Changing 0x0 to 0x1 makes the method return true. Save with Validate and save, then build. Use Find usages in the editor to see who calls the method before you change it.
Resources work the same way. The Resources tab decodes resources.arsc and binary XML, including AndroidManifest.xml, so you can edit strings or the manifest and rebuild with the same button. The edit AndroidManifest.xml on Android guide covers that path.
How is this different from Apktool, jadx and apksigner on a PC?
The desktop route uses separate tools for each step. Apktool decodes and rebuilds the APK from the command line, jadx shows the code as Java, and apksigner from the Android SDK Build-Tools signs the result. Manifesto bundles comparable engines (JADX 1.5.6, Smali 3.0.9, ARSCLib and apksig) in one app.
| Desktop toolchain | Manifesto on the phone | |
|---|---|---|
| Where it runs | Windows, macOS or Linux | Android 8.0+, arm64 only |
| Runtime needed | Java 8+ for Apktool; 64-bit Java 11+ for jadx | None beyond the app |
| Decode and rebuild | Apktool, command line | Open as project, then Build and sign |
| Read code as Java | jadx or jadx-gui | View as Java (JADX, read-only) |
| Edit code | Decoded files in any text editor | Smali editor with Find usages and Browse symbols |
| Sign | apksigner, run after zipalign if you use it | Build and sign uses the debug key; Sign uses your own keystore |
| Interface | CLI, plus the jadx-gui window | Touch UI, English only |
| Maturity | Apktool's latest release is v3.0.3 (July 2026); jadx's is 1.5.6 (July 2026) | Version 1.0 |
The desktop tools have real strengths. They run on any desktop OS, Apktool's command line fits into scripts, a keyboard and large screen help with long edits, and both projects are open source under Apache-2.0 (Apktool on GitHub). jadx's own README warns it usually can't decompile all of an app's code, and it describes decompiling only, not rebuilding APKs, so on a PC you pair it with Apktool and a signer.
The phone route trades those for having everything in one place. You don't need a computer or Java, and the build step signs for you. The apksigner docs note that any change after signing invalidates the signature, which is why both workflows sign last.
How do you sign the edited APK with your own key?
Signing with your own key matters for updates. Build and sign always uses Manifesto's debug key, which is publicly recoverable, so it's fine for testing but not for anything you ship.
- Open the drawer, tap Signing Key, then New key. Pick RSA 2048, RSA 4096 or EC P-256 and tap Create. Or copy an existing
.jks,.keystore,.p12or.pfxintoManifesto/Signing Keys. - Long-press the built APK and tap Sign.
- Under Signing identity, choose My keystore, pick the key, and fill in Key alias and Keystore password.
- Under Signature schemes, keep V1 to V3 on, and add V4 if you need it. Tap Sign.
The full walkthrough is in sign an APK on Android.
- Same key for updates: Android won't install an update signed with a different key over the installed app. Uninstall the original first, or sign every build with the same keystore.
What can't you do on the phone?
Some things still need a different approach. These limits come from how Manifesto is built, not from the phone itself.
- No Java recompile: the Java view is a read-only preview. All code edits are made in Smali.
- No bundle rebuild:
.aab,.apks,.xapkand.apkmcan be converted to an APK (split sets can also be installed), but not rebuilt as editable bundles. - No OBB merge: an XAPK that contains OBB data can't be merged into one APK.
- No old or non-ARM64 devices: Android 7.x and earlier, 32-bit ARM and x86 aren't supported.
Download Manifesto to try it on an APK of your own.
Frequently asked questions
Can I edit an APK on Android without root?
Yes, editing an APK on Android with Manifesto doesn't need root. Opening the APK as a project, editing Smali or resources, building, signing and installing all work on an unrooted phone. Root is only needed for the Root file location, Dynamic Plugins (with LSPosed) and Frida's root mode.
Can I edit the Java code instead of Smali?
No, the Java view in Manifesto is a read-only JADX preview. Use View as Java to understand a class, then make the change in the Smali editor. The same split exists on a PC: jadx shows Java, and Apktool does the rebuild.
Why won't my edited APK install over the original?
Build and sign uses Manifesto's debug key, not the original developer's key, and Android refuses updates signed with a different key. Uninstall the original app first, or sign all your builds with the same keystore of your own using Sign.
Is Manifesto free?
Yes, Manifesto is free, with no account, subscription or ads. It is distributed as an APK from the website rather than the Play Store. AI features in Agentic Space use a model provider you connect yourself.
Does Manifesto work on every Android phone?
No, Manifesto needs Android 8.0 or newer and an arm64-v8a processor. 32-bit ARM and x86 devices can't install it. The UI is in English only.
Related guides and docs
- How to decompile an APK on Android
- How to sign an APK on Android
- How to install XAPK, APKS and APKM files on Android
- How to convert an AAB to an APK on Android
- APK projects (docs)Open an APK as a project, browse it, search it, track changes.
- Smali & Java (docs)Decompile DEX, edit Smali, view as Java, DEX tools.
- Resources & manifest (docs)Edit resources.arsc, layouts, strings and the manifest.
- Build & sign (docs)Rebuild, sign with V1–V4 and manage keys.