Table of Contents

  1. Introduction: The Need to Skip Splash Ads on Android

  2. What Is GKD and How It Works

  3. Core Components of GKD

  4. Installing and Configuring GKD

  5. Getting Started: First Steps with GKD

  6. Writing Custom Local Rules

  7. Building and Sharing Remote Subscription Sources

  8. Advanced Usage Scenarios

  9. Troubleshooting and Best Practices

  10. Conclusion and Next Steps


Introduction: The Need to Skip Splash Ads on Android

In today’s mobile landscape, virtually every Android application—be it a video streaming app, a news aggregator, or a productivity tool—greets users with a splash screen or an introductory advertisement. While developers rely on these interstitials to generate revenue, repeated exposure to them can degrade user experience, slow down app launches, and even cause accidental ad clicks.

  • Time Wasted: Average splash ads last between 3 to 10 seconds, which can add up to minutes of unnecessary waiting each day.
  • User Frustration: Frequent interruptions break the flow of use and frustrate users who simply want to open their apps quickly.
  • Memory and Data Overhead: Ads consume network bandwidth and device memory, which can be critical on older or resource-constrained devices.
  • Security Risks: Unintentional clicks may lead to malicious websites or unwanted app installs.

To address these pain points, GKD—a lightweight, open‑source Android automation tool—automatically detects splash advertisements and bypasses them on your behalf. In this in‑depth guide, you’ll discover how GKD leverages the Android Accessibility Service, custom selector rules, and a flexible subscription mechanism to skip ads, confirm dialogs, and automate repetitive in‑app workflows. By the end of this article, you’ll have both the technical insights and practical know‑how to install, configure, and extend GKD for your favorite apps.


What Is GKD and How It Works

GKD stands for “Get Killer Done,” and it can be considered an upgraded version of popular auto‑skip tools like “Li Tiao Tiao.” At its core, GKD is an Android application that uses the built‑in Accessibility Service to monitor screen content, evaluate user‑defined rules, and perform automated actions such as clicking “Skip,” “Allow,” or any other specified button.

Key features include:

  • Accessibility-Driven Automation: No root access needed; works on any non‑modal screen.
  • Custom Rule Engine: Define scripts using advanced selector syntax to pinpoint UI elements precisely.
  • Remote Subscription: Pull rule sets from GitHub or other hosts, ensuring you always have the latest skip rules.
  • Snapshot Inspection: Capture UI snapshots and analyze the view hierarchy for rule development and debugging.
  • Shortcut Operations: Automate routine tasks such as confirming computer login, dismissing update prompts, or bypassing consent dialogs.

By marrying simplicity with extensibility, GKD allows both casual users and power users to automate away the tedium of repetitive screen interactions, elevating the overall Android experience.


Core Components of GKD

Android Accessibility Service

Android’s Accessibility Service was originally designed to assist users with visual or motor impairments. GKD repurposes it to:

  1. Monitor UI Changes: Listen for window transitions, view updates, and content changes in real time.
  2. Traverse View Hierarchy: Programmatically inspect the entire view tree (UI XML) of the current screen.
  3. Perform Actions: Execute gestures (click, scroll, long press) or custom actions (input text) on matched nodes by invoking performAction().

This approach guarantees compatibility with virtually any app, as long as the app’s UI is rendered via standard Android views.

Advanced Selector Syntax

Unlike simpler coordinate‑based or keyword‑based clickers, GKD employs a powerful selector language reminiscent of CSS selectors but optimized for Android’s UI structure. A selector may include:

  • View IDs (vid="login_button").
  • Text Matching (text^="Skip" for text starting with “Skip”).
  • Hierarchical Relationships (<, > for parent/child traversal).
  • Logical Operators (commas for OR conditions).

Example Selector:

@[vid="menu"] < [vid="menu_container"] - [vid="dot_text_layout"] > [text^="广告"]

This rule reads:

  1. Locate the node with vid="menu".
  2. Move up to its parent vid="menu_container".
  3. Within that container, find child nodes vid="dot_text_layout" whose text starts with “广告” (“Ad”).
  4. Click on the resulting node.

This modular syntax allows rule authors to craft concise yet expressive patterns that adapt gracefully to UI changes.

Subscription-Based Rule Management

GKD itself ships as a rule‑agnostic engine. You provide the rule sets:

  • Local Rules: Drop .gkd script files into the app’s storage folder.
  • Remote Subscriptions: Add URLs pointing to JSON subscription manifests hosted anywhere—GitHub, personal servers, etc.
  • Third-Party Feeds: Discover curated rule repositories by exploring GitHub topics tagged gkd-subscription.

When new rules are published upstream, GKD automatically retrieves updates, ensuring your skip logic remains current with app updates.

Snapshot Inspection for Debugging

Debugging selector rules demands visibility into the live UI tree. GKD’s inspect module enables:

  1. Snapshot Capture: Grab the current view hierarchy as a JSON or XML representation.
  2. Web or Local Viewer: Load snapshots in a convenient GUI that highlights nodes and attributes.
  3. Selector Testing: Input selector expressions and instantly see matched nodes, facilitating rapid iteration.

The snapshot inspector is available both as a standalone GitHub project (gkd-kit/inspect) and integrated within the GKD app.


Installing and Configuring GKD

Downloading the APK or Play Store Version

You can install GKD via three primary channels:

  1. Official Website

    • Visit gkd.li to download the latest APK directly.
  2. Google Play Store

    • Search for “GKD” or follow this link:

      https://play.google.com/store/apps/details?id=li.songe.gkd
      
  3. GitHub Releases

    • Browse the repositories under gkd-kit/gkd and download assets from:

      https://github.com/gkd-kit/gkd/releases
      

Choose the method that best fits your security and update preferences.


Granting Accessibility Permissions

Upon first launch:

  1. Navigate to Settings → Accessibility → GKD.
  2. Toggle on the Accessibility Service for GKD.
  3. Optionally enable Display Over Other Apps to quickly toggle GKD’s on/off switch.

Without these permissions, GKD cannot observe or interact with other app’s UI elements.


Importing Rules and Subscriptions

Within the GKD app interface:

  1. Tap “Subscription Management”.
  2. Select “Add Subscription” to paste a remote URL or choose “Import Local Rule” to load a .gkd file from storage.
  3. Once imported, you can enable or disable specific rule sets as needed.

Remote subscriptions will be auto‑refreshed on a configurable schedule.


Getting Started: First Steps with GKD

Verifying Functionality

To confirm that GKD is set up correctly:

  1. Open an app known for splash ads (e.g., a video player or news reader).
  2. Wait for the splash screen.
  3. If a matching rule exists, you should see the ad dismissed within a second or two, and the main content will appear without manual input.

If no rule matches, the ad will display normally—indicating that you need to author or subscribe to the appropriate skip logic.


Common Use Cases

  • Skip Video Ads

    [@[text="Skip Ad"], [text="跳过广告"]] > perform_click
    
  • Auto-Confirm Login Prompts

    @[text^="Allow"], [text^="权限"] > perform_click
    
  • Bypass Update or Feedback Dialogs

    @[text="Remind Me Later"], [text="稍后再说"] > perform_click
    

Such simple scripts save countless taps and seconds each day.


Writing Custom Local Rules

File Structure and Organization

Organize your rules into .gkd files in a dedicated folder within your device’s storage:

/GKD/rules/
├── skip_splash_ads.gkd
├── auto_confirm_login.gkd
└── bypass_feedback_dialog.gkd

Naming rules descriptively helps manage large rule collections.


Example Rule Templates

// skip_splash_ads.gkd
// Skip any ad labeled “广告” or “Skip Ad”
[@[text^="广告"], [text^="Skip Ad"]] > perform_click

// auto_confirm_login.gkd
// Automatically confirm login or permission dialogs
@[text^="确定登录"], [text^="Allow"], [text^="Permission"] > perform_click

// bypass_feedback_dialog.gkd
// Dismiss feedback prompts in multiple languages
@[text="Remind Me Later"], [text="稍后再说"], [text="Not Now"] > perform_click

After editing, import or refresh local rules within the GKD app to apply changes.


Building and Sharing Remote Subscription Sources

Forking the Subscription Template

To host your own rule feed:

  1. Fork gkd-kit/subscription-template.
  2. Populate the rules/ directory with your .gkd scripts.
  3. Update subscription.json to list rule entries with metadata (name, description, URL).

Automating Updates with GitHub Actions

Integrate a simple workflow:

name: Publish GKD Subscription

on:
  push:
    paths:
      - 'rules/**'

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Generate subscription.json
        run: |
          python scripts/generate_subscription.py
      - uses: actions/upload-artifact@v2
        with:
          name: subscription.json
          path: subscription.json

Then point GKD to your raw GitHub URL:

https://raw.githubusercontent.com/youruser/yourrepo/main/subscription.json

Adding the gkd-subscription topic on GitHub helps others discover your feed.


Advanced Usage Scenarios

Chained and Conditional Actions

Rules can trigger based on activity names:

// On splash activity, skip ad then wait 1s
on_activity("com.example.app.SplashActivity") {
  @[text^="广告"] > perform_click
  sleep(1000)
}

// On login activity, click login button
on_activity("com.example.app.LoginActivity") {
  @[vid="login_btn"] > perform_click
}

This lets you define sequences tailored to each screen.


Delay and Timing Controls

Sometimes immediate clicks can fail if UI isn’t fully loaded. Use sleep(ms):

@[text="Skip"] > perform_click
sleep(500)
@[text="Continue"] > perform_click

Adjust delays to match app performance for reliable automation.


Text Input and Automation Flows

Beyond clicks, GKD supports text input:

on_activity("com.example.app.SearchActivity") {
  @[vid="search_box"] > set_text("weather today")
  @[vid="search_button"] > perform_click
}

Combine text entry, scroll, and click actions to create end‑to‑end automation, like logging in, navigating menus, and performing searches without your intervention.


Troubleshooting and Best Practices

Rule Not Triggering

  • Check Accessibility: Ensure the service is still enabled in system settings.
  • Inspect UI Tree: Use snapshot inspection to verify that your selector targets the current view hierarchy.
  • Logging: Enable debug mode to log matched selectors without executing clicks.

Avoiding False Positives

  • Tighten Selectors: Combine vid, text, and parent/child relationships to reduce unintended matches.
  • Language Variants: For bilingual apps, include both English and Chinese keywords only when needed.

Maintaining Rule Compatibility

  • Version Control: Keep your .gkd files in Git for easy rollback after app updates break rules.
  • Community Feeds: Subscribe to well‑maintained public feeds and adapt their rules to your local language or app versions.

Conclusion and Next Steps

GKD empowers Android users and developers to reclaim time lost to intrusive splash ads and repetitive confirmation dialogs. By harnessing the Accessibility Service, an expressive selector syntax, and flexible subscription mechanisms, GKD delivers a robust framework for automating screen interactions across any app.

Whether you’re a casual user tired of splash screens or a power user seeking full‑scale automation flows, GKD’s extensibility ensures you can craft precise rules that evolve alongside your favorite apps. Start by installing GKD, importing community subscriptions, and experimenting with custom local rules. When ready, build your own remote subscription feed and contribute back to the open source community.

Transform your Android experience today—skip the ads, streamline your workflows, and let GKD handle the clicks so you can focus on what matters.