Skip to main content

Troubleshooting

Start with the failing layer. Preserve complete logs, target/tool versions, and hashes before changing inputs.

Analysis tools​

SymptomLikely causeNext steps
apktool reports missing framework resourcesvendor/OEM resource referencesinstall the matching authorized framework with apktool if; or use --no-res to recover smali only
apktool cannot decode resources.arsccorruption, protection, or unsupported formattest ZIP integrity, upgrade apktool, preserve raw resources, decode without resources
jadx shows failed to decompileoptimization/obfuscation or unsupported bytecode patterninspect smali, enable diagnostic bad-code output, try another engine on the method
jadx output contains impossible branchesdecompiler reconstruction error or control-flow obfuscationcompare original smali and a second engine; do not “fix” source before verifying
dex2jar output misses classesmultidex or conversion failureinventory all classes*.dex; prefer jadx/direct DEX tools
package has very little app codemanaged framework, native-heavy app, split missing, or packerinspect assets/libraries and use the triage decision tree
strings look encoded/encryptedresource encoding or string obfuscatorfind the repeated decoder and trace arguments; avoid bulk runtime collection
rebuilt APK will not installsignature mismatch, alignment, version/device constraintsuse a test device, align/sign, inspect adb install error; rebuilding is not needed for static analysis
rebuilt APK installs but exitsintegrity checks, changed resources, missing splits, or signing-dependent APIcompare logs and package set; confirm modification is in scope

Bundles and splits​

SymptomLikely causeNext steps
base APK launches without native libraryABI library is in a splitinclude the matching config split or build a universal APK from the AAB
resources/classes appear missingfeature module or language/config split omittedinventory the complete APK set and module metadata
bundletool rejects signing optionsincomplete keystore arguments or unsupported JDK/tool pairingread the matching bundletool help/version; use explicit test signing values
artifacts do not match devicewrong ABI, density, SDK, or locale specregenerate device-spec.json from the intended lab device

Native analysis​

SymptomLikely causeNext steps
nm -D shows almost nothingsymbols stripped or dynamic registrationinspect imports, JNI_OnLoad, strings, xrefs, and RegisterNatives
Ghidra uses the wrong languagearchitecture/endianness detection or raw blob importconfirm with file/readelf; re-import as ELF with the correct processor
decompiler types are nonsensicalstripped type data or incorrect signaturesverify calling convention and disassembly; apply types incrementally
IL2CPP metadata tool cannot matchbinary/metadata version mismatch or protectionconfirm same package/build/ABI and use a compatible tool version
static .so looks encrypted/emptypacked library or code generated/decrypted at runtimeinspect loader first; runtime dump only with explicit scope

Frida and device lab​

SymptomLikely causeNext steps
host cannot see deviceADB/USB/network setupverify adb devices -l, authorization prompt, and transport
Frida cannot enumerate processesserver not running, wrong privilege, or version mismatchcompare exact versions, permissions, architecture, and server logs
app exits immediately on spawnsetup issue or anti-instrumentationtest uninstrumented launch, capture logcat, identify the specific check before bypassing
hook never fireswrong process/class loader/signature or code path not reachedenumerate loaders, confirm overload and timing, trigger with a test action
dumped DEX will not openmemory fragment, bad header, duplicate/partial dumpvalidate magic/size, try another dump point, preserve provenance

Documentation site​

SymptomLikely causeNext steps
docusaurus build reports a broken linkrenamed document/heading or incorrect relative pathfix the source link; do not relax onBrokenLinks
docs load locally but assets 404 after deployincorrect DOCS_BASE_URLbuild with /<repo>/docs/ and keep a trailing slash
project URL shows duplicated /docs/docs/docs plugin and site both use docs routekeep Docusaurus baseUrl ending in /docs/ and routeBasePath: '/'
Jekyll publishes source foldersmissing _config.yml exclusionkeep docs, references, and SKILL.md in exclude
local combined site has wrong pathsstale _site or non-empty project base URLrun ./scripts/build-site.sh with empty SITE_BASEURL and serve _site
search is missing in dev modelocal search index is produced at build timerun a production build and npm run serve --prefix docs

Capture a useful issue report​

Include:

Target format and SHA-256 (if it can be shared safely):
Host OS/architecture:
Tool and exact version:
Command:
Complete error text:
Expected result:
Minimal structural details (DEX count, ABI, framework clues):
What changed between working and failing runs:

Do not attach proprietary packages, keys, credentials, mappings, or memory dumps to a public issue.