mcpField
A
android-webview-debug

android-webview-debug

github.com/fudesign2008Development689 installsUpdated 2d ago
Repository

About android-webview-debug

android-webview-debug is a skill for enabling and reverting Android WebView debugging settings in a project. It records changed lines so reversion can restore matching entries while flagging mismatches for confirmation.

Key features

  1. 01Finds WebView debugging calls
  2. 02Enables non-commented calls
  3. 03Records original lines in a state file
  4. 04Restores matching entries and flags mismatches

Use cases

  1. 01Temporarily enabling WebView debugging
  2. 02Reverting debugging changes without overwriting mismatches

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/fudesign2008/open-skills --skill android-webview-debug

After installing, type/android-webview-debugin Claude Code to confirm it loaded.

Details

From the project README

Android WebView Debug Toggle

Triggers

  • 「开启 WebView 调试」 / android-webview-debug-enable: Change all setWebContentsDebuggingEnabled calls in the project to true, and record modified locations with their original content for later revert.
  • 「恢复 WebView 调试」 / android-webview-debug-revert: Restore previously modified locations from the record; entries that don't match the record are not auto-reverted — they are listed at the end for user confirmation.

State File Convention

  • Path: .android-webview-debug-state.json in the project/workspace root directory.
  • Creation timing: Only created or overwritten when android-webview-debug-enable runs; revert only reads (can be deleted or archived after restore is complete).
  • Format:
{
  "version": 1,
  "createdAt": "ISO8601",
  "projectRoot": "/absolute/path/to/project",
  "entries": [
    {
      "file": "app/src/main/java/.../CoreWebView.kt",
      "line": 42,
      "original": "setWebContentsDebuggingEnabled(AppContext.isDebug())",
      "replaced": "setWebContentsDebuggingEnabled(true)"
    }
  ]
}
  • Note: Only entries actually changed in this enable session are recorded (calls already set to true are not included). Recommend adding .android-webview-debug-state.json to .gitignore to avoid accidental commits.

android-webview-debug-enable Flow

  1. Search: Use grep or codebase search to find all setWebContentsDebuggingEnabled occurrences (including commented lines), list all locations.
  2. Classify: Mark each location as "already true", "conditional or other expression", or "commented out".
  3. Optional confirmation: If user input is needed, present 1–2 quick choices (e.g., "Change all to true?" "Also modify commented-out calls?"). User can answer briefly like "1A 2B".
  4. Existing state: If .android-webview-debug-state.json already exists in the project root, first prompt: "An enable record already exists. Overwrite and continue?" Wait for user confirmation before overwriting.
  5. Write state file: Before making any code replacements, generate entries for items about to be changed and write .android-webview-debug-state.json (path: project root).
  6. Execute replacements: Change "conditional or other expression" calls to setWebContentsDebuggingEnabled(true). Do not modify commented-out calls by default, unless the user explicitly says "also change commented ones" or "uncomment them".
  7. Summary: Briefly list modified files and entry count.

android-webview-debug-revert Flow

  1. Read state file: Read .android-webview-debug-state.json from the project root. If not found, prompt: "No enable record found, cannot revert" and exit.
  2. Iterate entries:
    • For each entry: read the corresponding file/line and compare with replaced (or check if it contains setWebContentsDebuggingEnabled(true)).
    • Match: Replace the line with original (restore pre-modification content).
    • Mismatch: Do not auto-revert; add to the "mismatched" list (record file, line, current line summary).
  3. Complete all restorable items first: Only apply replacements for entries where the current line matches the record.
  4. Final prompt and manual confirmation: If there are mismatched entries, output the list at the end: "The following N entries don't match the enable record (may have been manually modified). Confirm whether to restore per the record or skip." Restore or skip each entry based on user choice.
  5. Summary: Report number of restored entries; if all restored, prompt: "You can now delete .android-webview-debug-state.json or add it to .gitignore."

Default Rules

  • enable: Does not modify commented-out setWebContentsDebuggingEnabled calls by default; user can override with a single phrase (e.g., "also change commented ones").
  • revert: Only restores entries recorded in the state file; mismatched entries are not auto-reverted — always listed at the end for manual confirmation.
  • State file: Only one copy in the project root; enable overwrites, revert only reads.

Verification Checklist

  • After enable: All non-commented setWebContentsDebuggingEnabled calls in the project should be true, and .android-webview-debug-state.json should exist in the root with entries matching this session's modifications.
  • After revert: Restored lines should match the original in the state file; mismatched entries should be listed and processed per user confirmation.

Comments

Markdown supported