Android app reverse engineering with AI: APK to working code A guide published on AI-assisted Android app reverse engineering documents a workflow that pulls an APK from an owned device, decompiles it with JADX and Apktool, and hands the code tree to an AI agent such as Claude Code or OpenCode for analysis. The guide cites four projects, including a Kyocera softkey API reconstruction using OpenCode with Gemini 3 Flash that consumed 47,573 tokens at about $0.05, and a Bluetti EP760 home battery integration built with Claude Code that took an evening for the cloud gateway and a weekend for Bluetooth. The guide warns the approach fails on native libraries under lib//*.so, Flutter apps compiled ahead of time to native machine code, React Native Hermes bytecode bundles, and certificate-pinned traffic, and it excludes licence-check bypass, root or tamper detection, and DRM from scope. Android app reverse engineering with AI: APK to working code Pull an APK from your own phone, decompile it with JADX and Apktool, hand the tree to an AI agent, and check its answers on a real device. Decompiled Android apps are large, obfuscated and tedious to read, which makes them a good fit for an AI agent. People have used this to connect home batteries to Home Assistant, recover an undocumented phone API for about five cents, and work out what pre-installed software on a cheap projector was doing. This guide covers the workflow for apps on devices you own, for interoperability, your own development or defensive analysis. Before you start before-you-start - An Android device you own , with Developer options and USB debugging turned on. Android hides Developer options by default; the developer options page https://developer.android.com/studio/debug/dev-options explains how to show them. - adb from Android's platform-tools. - Java : JADX needs 64-bit Java 11 or later unless you use its with-jre bundle. Apktool needs at least Java 8. - An agent that can read files and run shell commands: Claude Code https://reversedwithai.com/tools/claude-code , or OpenCode with a model of your choice as in the Kyocera project. - Cost: the Kyocera reconstruction used 47,573 tokens, about $0.05. Larger apps cost more. Michael Still notes he would not pay to analyse very large, heavily obfuscated apps himself. Out of scope: bypassing licence checks, root or tamper detection, DRM, or anything that lets an app run in a way its maker blocks. The projects below only read code to understand how an app talks to hardware or to the OS. What it took in the projects what-it-took-in-the-projects | Project | Goal | Agent and model | Time and cost reported | |---|---|---|---| | Kyocera softkey API https://reversedwithai.com/p/kyocera-softkey-api-gemini-opencode | Rebuild one hidden system API | OpenCode with Gemini 3 Flash | Seconds per run; 47,573 tokens, about $0.05 | | Bluetti EP760 https://reversedwithai.com/p/bluetti-ep760-home-assistant | Talk to a home battery without the vendor app | Claude Code | Cloud gateway in an evening, Bluetooth over a weekend | | Emaldo home battery https://reversedwithai.com/p/emaldo-home-battery | Read a battery's local protocol | Claude Code | One day, per the write-up's title | | Android projector https://reversedwithai.com/p/android-projector-malware | Find out what pre-installed apps were doing | Claude Code | Not stated | The pattern: one narrow question about one app finishes in hours, not weeks. A whole-app rewrite is a different project. When this approach is not enough when-this-approach-is-not-enough JADX only shows code that was compiled to DEX. Look inside the APK before you start, because some apps keep their logic elsewhere: - Native libraries. Code under lib/