No results found

AmznKiller - Xposed Module Repository

AmznKiller

Xposed module built on the modern LSPosed API that hides ads and sponsored content inside the Amazon Android app.

Android 10+ LSPosed API 100 Kotlin Compose BOM Gradle AGP

Build Selector Sync Selector Validate

Release Downloads Xposed Repo Xposed Downloads

Stars Issues Closed Issues Last Commit License

Features

  • Remove sponsored cards, video carousels, and other promotional UI in the Amazon app
  • Maintained built-in selector list with remote updates. Optionally use your own self-hosted selector list via custom URL.
  • Selector sanitization blocks common CSS injection patterns
  • Price history charts on product pages via Keepa and CamelCamelCamel (US, UK, DE, FR, JP, CA, IT, ES, IN, MX, BR, AU)
  • Force Dark (experimental) uses the native force dark algorithm with supplementary CSS fixes to darken Amazon pages
  • Recommended alongside Private DNS and hosts-based blocking
  • Material 3 Expressive settings UI with Jetpack Compose
  • Free and open source (FOSS)

Known Issues

  • Force Dark is experimental and disabled by default. Requires Android 15 (API 35) or higher for full support. On Android 10-14 force dark may not apply correctly. Some Amazon screens may still have contrast issues even on supported versions
  • Price history charts are still being expanded and may not appear on some product pages yet.

Requirements

  • Android 10 (API 29) or higher
  • LSPosed (JingMatrix fork recommended)
  • Amazon Shopping app (com.amazon.mShop.android.shopping)

Installation

  1. Download the APK:

    Get it on GitHub Get it on Obtainium

  2. Enable the module in LSPosed and scope it to com.amazon.mShop.android.shopping

  3. Open the AmznKiller companion app to verify the module is active and optionally fetch updated lists (built-in filters work out of the box)

  4. Force-stop the Amazon app and relaunch it. A toast confirms the module is active.

Screenshots

Search query: “macbook air m1 16gb 512”

Stock (2 real results, rest are ads)Patched
Stock Amazon app Patched Amazon app
Force DarkPrice History
Force Dark mode Price history charts

Settings app

Dashboard Selectors
Settings Settings (bottom)

FAQ

Nothing changes in Amazon

See Troubleshooting. Most common causes: module not scoped correctly, missing force stop on Amazon Shopping, or LSPosed not activated.

Some products or sections are missing (blank lists, missing tiles)
  1. Disable CSS injection in AmznKiller settings to confirm selectors are the cause.
  2. Update selectors from the dashboard (tap refresh).
  3. If it persists, open an issue with: AmznKiller version, Amazon app version, WebView version, selector count.
Sync says "remote failed" or "bundled only"

Bundled selectors are still applied. Check connectivity, reset the selector URL in settings, and refresh again.

Does this block network requests or just hide elements?

Cosmetic only. It injects CSS to hide ad elements. Network requests still happen. Works alongside DNS-based blockers (AdGuard, NextDNS, Private DNS, hosts files).

Does this work on Amazon Lite or other Amazon apps?

No. The module is scoped to com.amazon.mShop.android.shopping only for now.

Do I need to reboot after updating selectors?

No. Updated selectors apply on the next page load inside Amazon Shopping. Force stop Amazon Shopping if changes don’t appear immediately.

How does Force Dark work?

Amazon disables Android’s force dark algorithm via its theme (forceDarkAllowed=false). The module hooks ViewRootImpl.determineForceDarkType and overrides the return to FORCE_DARK_ALWAYS, which triggers GPU-level algorithmic darkening on all content including WebViews. Additional hooks set dark window backgrounds, theme native nav elements, and prevent white flash on WebView load. DarkModeInjector ships CSS fixes for elements the algorithm gets wrong (product images, buy buttons, deal badges).

Limitation: ViewRootImpl.determineForceDarkType was introduced in Android 15 (API 35). On Android 10-14, this method does not exist so the primary force dark override cannot apply. A fallback hook on HardwareRenderer.setForceDark is attempted but Amazon’s theme-level opt-out still blocks darkening on those versions.

If you spot a rendering issue, open an issue with a screenshot, page URL, and Android version. You can enable WebView debugging in settings and inspect via chrome://inspect.

Troubleshooting

  1. Confirm the module is enabled in LSPosed and scoped to Amazon Shopping.
  2. Force stop Amazon Shopping, then reopen (or reboot).
  3. Open AmznKiller. Verify Xposed is active and selector count is above 0.
  4. Tap refresh on the dashboard. If it fails, reset the selector URL in settings and retry.
  5. If pages look broken, disable CSS injection temporarily, reopen Amazon Shopping, update selectors, then re-enable.

Build

git clone --recurse-submodules https://github.com/hxreborn/amznkiller.git
cd amznkiller

# Build libxposed and publish to local Maven repo
./gradlew buildLibxposed
./gradlew :app:assembleDebug

Requires JDK 21 and Android SDK. Configure local.properties:

sdk.dir=/path/to/android/sdk

# Optional: release signing for reproducible builds
RELEASE_STORE_FILE=<path/to/keystore.jks>
RELEASE_STORE_PASSWORD=<store_password>
RELEASE_KEY_ALIAS=<key_alias>
RELEASE_KEY_PASSWORD=<key_password>

Contributing

See CONTRIBUTING.md for guidelines on pull requests, code style, and commit conventions.

For bugs or feature requests, open an issue.

License

GPLv3

This project is licensed under the GNU General Public License v3.0 – see the LICENSE file for details.

Package

eu.hxreborn.amznkiller

Authors

rafareborn

Releases

v1.2.2

Release Type: Stable

2/28/2026, 7:57:35 AM

View all releases

Releases

v1.2.2

Release Type: Stable

2/28/2026, 7:57:35 AM

What's Changed

Added

Fixed

  • 009ef83 - (charts) Prevent injection inside buybox swatch buttons by @hxreborn

    price charts were rendering inside the one-time purchase tab card on subscribe & save products

    Fixes #11

Changed

Other

Show older versions

© 2021 - 2026 New Xposed Module Repository