一键导入
flutter-obfuscate-docs
[Flutter] Flutter code obfuscation guide. Build commands, symbol files, stack trace deobfuscation, and limitations. (project)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
[Flutter] Flutter code obfuscation guide. Build commands, symbol files, stack trace deobfuscation, and limitations. (project)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | flutter-obfuscate-docs |
| description | [Flutter] Flutter code obfuscation guide. Build commands, symbol files, stack trace deobfuscation, and limitations. (project) |
Replaces function/class names with obscure symbols to make reverse engineering harder.
Warning: Obfuscation only renames symbols - it does NOT encrypt resources or provide strong security. Never store secrets in the app.
| Platform | Build Targets |
|---|---|
| Android | aar, apk, appbundle |
| iOS | ios, ios-framework, ipa |
| Desktop | linux, macos, macos-framework, windows |
| Web | Not supported (uses minification instead) |
flutter build <target> \
--obfuscate \
--split-debug-info=<symbols-directory>
# Android APK
flutter build apk --obfuscate --split-debug-info=out/android
# Android App Bundle
flutter build appbundle --obfuscate --split-debug-info=out/android
# iOS
flutter build ios --obfuscate --split-debug-info=out/ios
# iOS IPA
flutter build ipa --obfuscate --split-debug-info=out/ios
# macOS
flutter build macos --obfuscate --split-debug-info=out/macos
# Windows
flutter build windows --obfuscate --split-debug-info=out/windows
# Linux
flutter build linux --obfuscate --split-debug-info=out/linux
Important: Backup the generated symbol files!
Generated in <symbols-directory>:
out/android/
├── app.android-arm.symbols
├── app.android-arm64.symbols
└── app.android-x64.symbols
Always backup these files - required for crash report deobfuscation.
flutter symbolize -i <stack-trace-file> -d <symbols-file>
# Save crash stack trace to file
echo "crash stack trace content" > crash.txt
# Deobfuscate
flutter symbolize -i crash.txt -d out/android/app.android-arm64.symbols
Creates JSON mapping of original → obfuscated names:
flutter build apk \
--obfuscate \
--split-debug-info=out/android \
--extra-gen-snapshot-options=--save-obfuscation-map=out/android/map.json
Output (map.json):
["MaterialApp", "ex", "Scaffold", "ey", "MyWidget", "ez", ...]
// BAD: Runtime type checking fails after obfuscation
expect(foo.runtimeType.toString(), equals('Foo')); // ❌
// BAD: Type name comparison
if (widget.runtimeType.toString() == 'MyWidget') { } // ❌
| Task | Command |
|---|---|
| Build obfuscated APK | flutter build apk --obfuscate --split-debug-info=out/android |
| Build obfuscated IPA | flutter build ipa --obfuscate --split-debug-info=out/ios |
| Deobfuscate crash | flutter symbolize -i crash.txt -d app.android-arm64.symbols |
| Generate map | Add --extra-gen-snapshot-options=--save-obfuscation-map=map.json |
| Check options | flutter build <target> -h |
1. Build with --obfuscate --split-debug-info=<dir>
2. Backup symbol files (*.symbols)
3. Distribute obfuscated app
4. When crash occurs: flutter symbolize -i <crash> -d <symbols>
[Utility] Analyzes user prompts and efficiently loads only relevant rule documents. Auto-generates category-document mapping config file on first invocation by scanning project documents. Supports both automatic and manual invocation. (project)
[Dev] Extracts and organizes best practices for a given topic into a minimal tree structure (max depth 3, max 5 children per node). Use during task planning when writing subtasks in Docs/{name}_Task.md - output is added under each subtask as a concise reference guide. Pure reasoning task with strict formatting rules: keywords/noun phrases only, no prose. (project)
[Utility] Analyzes user prompts and efficiently loads only relevant rule documents. Auto-generates category-document mapping config file on first invocation by scanning project documents. Supports both automatic and manual invocation. (project)
[Design System] Quantitative accessibility audit for UI - contrast ratios, font sizes, tap targets, heading hierarchy. Use when (1) checking WCAG color contrast compliance, (2) auditing text sizes for readability, (3) validating touch/click target sizes, (4) reviewing heading structure and landmarks, (5) user asks to 'check accessibility', 'audit contrast', 'WCAG compliance', or 'a11y check'.
[Aesthetics] Positions aesthetics within art/design history, identifies what traditions it echoes, and spots clichés, generic trends, and AI-slop patterns to avoid. Outputs Critical Notes as Memo nodes in Brain canvas.
[Aesthetics] Maps aesthetic briefs to cultural references: art movements, photography, film, architecture, music, fashion. Outputs reference lists with visual language analysis. Organizes findings as Image and Memo nodes in Brain canvas.