specdeviceinfo
Everything in DevCheck AI · v1.1.1

Every signal your phone reports — decoded, scored, explained.

DevCheck AI reads only what Android actually exposes — never fabricated, never inferred from marketing pages. Below is the full list of what it surfaces today, and what's queued next.

Google Play recommended. Direct APK is a fallback for regions without GMS.

New in v1.1.1

A shareable proof of your device, in one image

The Device Certificate now shows the reasoning: every failed trust check, a five-metric health breakdown, and richer specs — plus a QR code so anyone can install DevCheck AI by scanning it. And the AI answers finally sound like a person.

v1.1.1 · P0 · new

Device Certificate — now shows the why

Every hardware-trust check, a five-metric health breakdown, and richer specs in the same shareable image.

The top verdict banner and the four score tiles stay first — core-at-a-glance is unchanged. Below them the certificate now lists up to 5 failed trust checks with a plain-English reason each (e.g. 'Model not in reference library', 'Emulator / virtual device', 'USB debugging on'), a mini bar chart of the five health sub-scores (memory / storage / battery / CPU / temperature) color-coded by value, an IP-authenticity line (only if you've actually run the IP check), and 6 extra spec rows: CPU core count, GPU, ABI, kernel version, Build (ID · type), and sensor count. Empty rows are skipped — no filler.

  • Failed checks + reason, not just a lower score
  • Health bar labels aligned on a fixed top baseline (previously drifted with bar height)
  • IP block only appears when you've measured it — no dead space
  • 6 new spec rows: cores, GPU, ABI, kernel, build, sensors
v1.1.1 · P0 · new

Scan-to-install QR code on the certificate

Every shared certificate is a downloadable receipt for DevCheck AI itself.

The certificate footer now carries a ZXing-generated QR code with a 'Scan to install' caption (localized in all 7 languages). The QR encodes the Play Store URL directly (not a raw APK link — safer for the receiver, no 'unknown sources' warning, no Play policy risk). Zero server-side, zero privacy change; URL is a constant so future variants can point at region-smart landing pages.

  • QR → Play Store URL (not a raw APK)
  • 7-language caption (cert_qr_caption)
  • Pure on-device generation via ZXing (~500 KB dependency, no network)
  • Turns every shared certificate into a growth entry-point
v1.1.1 · P0 · new

AI answers de-AI-ified

One localized style guide, applied to all 5 AI prompts.

Every AI reply (performance / battery / Ask AI / health) now goes through a single 'write like a real expert' style instruction attached to PrefsManager.getAiLanguageInstruction() — one place changes cover all five prompts. The instruction is not a translation: it's localized per language (en / zh / ja / de / es / fr / it), each targeting its own 'machine voice' tells. Cut: empty openings, filler, mechanical connectors, over-symmetric triples, faux emotional wrap-ups, textbook tone. Kept: mixed sentence length, point-first structure, plain stance, restrained imperfection.

  • One PrefsManager call, all 5 AI prompts benefit
  • 7 language-specific style instructions (not translations)
  • No fabricated facts beyond what's in the data
v1.1.1 · P0

AdMob init crash fix + notification telemetry

The top Crashlytics issue is gone; we can finally measure whether weekly reports drive comebacks.

Crashlytics' #1 issue was MobileAds.initialize() throwing SecurityException: RECEIVER_EXPORTED on some Android 14+ devices. Two-layer fix: (1) wrap MobileAds.initialize() in try/catch so the worst case is 'no ads this session' instead of a crash — 100% stop-crash coverage; (2) bump play-services-ads 23.6.0 → 25.4.0 for the root fix, keeping 16KB page alignment. Also added notif_sent{type} and notif_opened{type} events (weekly / storage), gated by the same 'Share usage & crash data' toggle — so we can finally quantify whether the v1.0.8 notifications actually bring people back.

  • MobileAds.initialize try/catch — 100% stop-crash
  • play-services-ads 25.4.0 (16KB aligned)
  • notif_sent / notif_opened analytics events (opt-in)
Added in v1.1.0

Hardware Self-Test + Device Certificate

v1.1.0 is the first "big" release since v1.0.4: a 15-check hardware self-test alongside Trust / Health / IP, a shareable Device Certificate (PNG + PDF), and full network info — all generated on-device, nothing uploaded.

v1.1.0 · P0 · new

Hardware Self-Test — 15 CIT-style checks

Screen dead pixels, touch, sensors, camera, mic, fingerprint — a factory-test suite as a Dashboard entry.

Modeled on Android's CIT (factory test) suite, made a first-class Dashboard card alongside Trust / Health / IP. Each check guides the user to a manual pass/fail verdict and persists into the certificate. Display & touch: solid-color dead-pixel scan, touch and multi-touch trails. Sensors: accelerometer, gyroscope, proximity, light, magnetometer with live raw values. Others: vibration motor, flashlight, volume keys, charging detection (live power source), camera (CameraX live preview + front/back swap), fingerprint / biometric (BiometricPrompt). Audio: speaker, microphone (record-and-play, purely local and ephemeral). The Dashboard badge shows Passed/Total (e.g. 12/15), turning red the moment any check fails.

  • 15 guided checks, results persist and feed the certificate
  • Dashboard badge: 'passed / total', red on any failure
  • Camera + fingerprint via CameraX 1.4.1 + BiometricPrompt (no images stored or transmitted)
  • Mic self-test is record-and-play, purely local, discarded on exit
v1.1.0 · P0 · new

Device Authenticity Certificate (PNG + PDF)

One shareable image that says 'this phone is real, and here's the receipt'.

One-tap generates a light-theme document consolidating authenticity verdict / hardware-trust / health / IP authenticity / self-test results, plus device fingerprint / performance / network — all rendered at 2× for crispness. Fixed light-document look so it reads consistently on any platform. Saves as PNG to Photos and PDF (A4 width) to Downloads via MediaStore on API 29+ (no write permission needed). Shared via FileProvider so system share sheets show a proper preview. Fully offline: generation, rendering, save and share all happen on-device — the certificate contains your device fingerprint and IP, so it's kept strictly local. In v1.1.1 the body was massively expanded (see above).

  • PNG + PDF, both at 2× rendering
  • MediaStore save flow (no WRITE_EXTERNAL_STORAGE on API 29+)
  • 100% on-device — the certificate is never uploaded
  • Serial-numbered with a timestamp for spot-checking authenticity
v1.1.0 · P0 · new

Full network info — zero-permission

The Device Info → Network section went from 3 lines to a real network profile.

Now surfaces: connection type, VPN presence, metered network, Wi-Fi standard (Wi-Fi 6/7 detected), band, link speed, signal, MAC vendor tag, IPv4 / IPv6, DNS, gateway, carrier, roaming, Bluetooth (state + LE), power source, USB. Certificate carries a condensed one-line network summary. Everything readable without location/phone permissions — SSID / BSSID / cell type / tower info would need dangerous permissions, so we deliberately don't collect them. Real Wi-Fi and Bluetooth MACs have returned faked values since Android 6 (02:00…), so those aren't shown either — no false precision.

  • Wi-Fi 6/7 detection via WifiManager.getWifiStandard
  • IPv4 + IPv6 + DNS + gateway (from NetworkCapabilities + LinkProperties)
  • Bluetooth state + LE support
  • Zero dangerous permissions added
v1.1.0 · P0

Reliability round: HyperOS, insets, USB, CameraX 16KB

Xiaomi HyperOS vibration, edge-to-edge insets on target-SDK 36, USB-C PD false-negatives, and Android 15 page-size alignment — all fixed.

Vibration self-test was crashing on release builds because VIBRATE was missing from the manifest, and HyperOS's touch-feedback layer silently drops USAGE_UNKNOWN vibrations (ignored_for_settings); switched to USAGE_ALARM + max amplitude + VibratorManager for reliable playback. Self-test screen no longer overlaps status and nav bars on SDK 35+. Dashboard self-test badge counts 'passed' rather than 'tested' so failures aren't quietly marked done. USB-C PD fast-charge, which the system labels 'AC', no longer trips a false 'Disconnected' — power-source is now read from USB gadget state + wired supply and shown as a dedicated AC / USB / Wireless / None field. CameraX bumped 1.3.4 → 1.4.1 for the 16KB native alignment Play now enforces on Android 15+.

  • VIBRATE permission + USAGE_ALARM on Xiaomi HyperOS
  • Edge-to-edge safe insets on target-SDK 36
  • Real power source: AC / USB / Wireless / None
  • CameraX 1.4.1 — 16KB page-aligned for Android 15+
Added in v1.0.9

Feedback channel + retention infra

On top of v1.0.8's retention batch, v1.0.9 adds the infrastructure to actually hear from users and measure adoption — behind an explicit privacy toggle. Plus i18n completion for 5 more languages. No new dangerous permissions.

v1.0.9 · P0 · new

In-app 'Send feedback'

One tap in Settings → Privacy opens your email app pre-filled with device context.

New Settings → Privacy entry: 'Send feedback'. Opens the system mail composer pre-filled with the developer address (business_contact@specdeviceinfo.com), a subject line, and your device context (model / Android version / app version) — one tap, no forms, no accounts. If no mail app is installed, a Toast surfaces the address so it can still be copied. Zero permissions.

  • Mail-composer intent, no in-app form
  • Auto-fills model / Android / app version
  • Toast fallback when no mail app is present
v1.0.9 · P0 · new

Firebase Analytics + Crashlytics — consent-gated

Finally measure what happens after install — behind an explicit privacy toggle.

Integrates Firebase Analytics + Crashlytics to track retention signals Play Console can't see: widget adoption (widget_added / removed), notification toggles (notif_toggled), onboarding completion (onboarding_finished / skipped), and per-feature entry (feature_opened{trust|ip}). R8 mapping is auto-uploaded so crash stacks are deobfuscated. Controlled by a Settings → Privacy → 'Share usage & crash data' toggle (default on, one-tap off). Only aggregate usage + crashes (device / OS / stack) — no device content, no IP. If google-services.json is missing (CI, whitelabel builds), Firebase safely no-ops.

  • One privacy toggle governs both Analytics and Crashlytics
  • Aggregate events only — no device content, no IP capture
  • R8 mapping auto-uploaded → deobfuscated stack traces
  • Safe no-op when google-services.json is absent
v1.0.9 · P0

i18n completion + refreshed privacy policy

All v1.0.8 strings translated to ja / de / es / fr / it — and the in-app policy is now aligned with what actually ships.

The 'Advanced AI settings / Send feedback / Share usage & crash data' strings introduced in v1.0.8 previously only had Chinese and English; v1.0.9 backfills Japanese, German, Spanish, French, and Italian so those users no longer fall back to English. The in-app privacy policy (7 languages) is updated to 2026-07-19: contact email corrected to business_contact@specdeviceinfo.com, Firebase Analytics / Crashlytics disclosed as third-party services, 'local processing / not automatically uploaded' language adjusted to match what ships. No new dangerous permissions.

  • ja / de / es / fr / it now cover the v1.0.8 additions
  • In-app privacy policy dated 2026-07-19
  • Firebase disclosed in-app (matches Play Data Safety)
  • Zero new dangerous permissions in v1.0.9
Added in v1.0.8

Nicer to use, worth coming back to

Home-screen widget, guided first-run tour, optional smart notifications, Ask AI starter prompts, and full light-theme details — v1.0.8 was the "make it a habit" release.

v1.0.8 · P0 · new

Home-screen widget

All the numbers you actually care about, right on your home screen.

A single at-a-glance widget shows battery %, memory usage, storage free, plus your latest Health Score, Hardware Trust Score and IP Reputation — no need to open the app. Refreshes on your unlock and on the same schedule as the app's dashboard.

  • One widget covers battery / memory / storage
  • Health / Trust / IP scores in the same tile
  • Auto-refresh; taps deep-link into the right details page
v1.0.8 · P0 · new

First-run guided tour

Every new user is walked through the real-device check + AI check-up.

Instead of dropping first-time users into a dashboard of numbers, v1.0.8 opens with a short interactive tour: run your real-device (Hardware Trust) check, then the AI check-up. By the time the tour ends, you already have a Trust Score, a Health Score, and one AI insight — no learning curve.

  • Skippable at any step
  • One-tap 'run this check' inside each tour panel
  • Landing dashboard now leads with 'Is your phone genuine?'
v1.0.8 · P0 · new

Optional smart notifications

Storage-full alerts + a weekly device report — off by default.

Toggle in Settings turns on two low-noise notifications. Storage-Full alerts fire when free storage drops below your chosen threshold (default 10%). Weekly Device Report is a Sunday-morning summary of your Health / Trust / IP scores plus any changes since last week.

  • Both notifications default OFF — no surprise permissions
  • Storage threshold configurable (5% / 10% / 20%)
  • Weekly report delivers to the phone notification tray, no email
v1.0.8 · P0

Ask AI starter questions

No more empty prompt box — start with the questions people actually ask.

Ask AI now surfaces starter prompts (e.g. 'Is my phone secretly a cloud phone?', 'Why is my battery draining fast?', 'What SoC do I really have?') so users don't have to invent good questions. Tap-to-fill, edit before sending. Reduces empty-tab bounce and improves first-session quality.

  • 6-8 rotating starter prompts, brand-agnostic
  • One tap to fill the prompt field, still editable
  • Prompts driven by the top questions logged in v1.0.5-v1.0.7
v1.0.8 · P0

Theme-aware detail screens + polish

Full light-theme support on Trust / Health / IP details, plus copy pass.

Trust / Health / IP Reputation full-screen details now follow the system light / dark theme (previously dark-only). Every section header, badge and body-copy has been re-read and tightened. Various dashboards get spacing / color polish for target-SDK 36.

  • Light theme applied to all detail screens
  • Copy tightened across dashboard + settings
  • Spacing / touch-target polish on target-SDK 36
Added in v1.0.5 → v1.0.6

Detection layer expansions

IP reputation, full-screen Trust/Health details, real GPU identification, and system-level clone detection — all real OS signals, no fabricated numbers.

v1.0.6 · P0

IP Reputation Check (IPQualityScore)

Bust the last layer cloud phones lie about — the network.

Trust page adds a one-tap 'Check IP reputation' entry. Auto-resolves your current public IP via ipify (no IPQS credit spent), then queries IPQualityScore for fraud_score, Proxy / VPN / Tor / recent-abuse flags, ASN, geolocation and device fingerprints. Free tier watches one rewarded ad per lookup; Premium skips ads. Only real returned values render — Premium-only fields and N/A rows are filtered so upgrading your IPQS plan just makes new fields appear.

  • IPv4 / IPv6 input with client-side syntax validation
  • Overview card: big fraud_score + Clean / Low / Suspicious / High Risk verdict
  • Response grouped into Risk / Network / Location / Device fingerprint
  • IPQS key XOR-obfuscated behind the same KeyGate + KeyVault pipeline as Claude — plaintext never in the APK
v1.0.5 · P0

Trust & Health full-screen details

Every check tells you what it looks at, and why it passed or failed.

Trust and Health details are now full-screen pages — issues found / passed / not-applicable in three groups, sorted by severity (CRITICAL → LOW), each row with a colored badge and a one-line explanation. Localized in Chinese and English, follows system language.

  • Ordered by severity, not by check ID
  • Every row explains its own signal in plain language
  • Edge-to-edge insets — no more status-bar overlap on target-SDK 36
v1.0.5 · P0

GPU / SoC real identification

No more Qualcomm phones scoring −8 for having a 'qcom GPU'.

GPU is now read from a 1×1 off-screen EGL14 pbuffer context (real GL_RENDERER — 'Adreno (TM) 830', 'Mali-G925') instead of the motherboard codename. Xiaomi 15S Pro's XRING O1 (Xuanjie) is recognized via ro.soc.model / ro.soc.manufacturer fallback so cross-checks actually run. QTI / 'Qualcomm Technologies, Inc.' vendor strings all normalize to Qualcomm.

  • EGL-based real GPU read with cache + fallbacks
  • XRING O1 added to fingerprint table
  • SELinux-restricted /proc reads fall back to framework APIs
v1.0.5 · P0

System-level clone / dual-instance detection

Xiaomi 应用双开, Second Space, Work Profile — all caught.

Old logic only checked dataDir path, which missed Xiaomi's system-level app cloning (user id 999) and multi-user / work profiles (user id 10+). Now uses Android user id (uid / 100000): 0 = primary, 999 = HyperOS clone, 10+ = Second Space / multi-user / work profile. Nearly zero false positives — hard to fake at the app layer. Third-party virtual containers (Parallel Space, VirtualXposed) still caught by path detection.

  • User-id based — hard to spoof
  • Third-party virtual containers still detected by path
  • Distinct from third-party virtualization result
Flagship · v1.0.4

Six pillars from v1.0.4

The v1.0.4 detection foundation, still shipping in every release.

v1.0.4 · P0

Hardware Trust Score

Spot refurbished, cloned, or emulated phones in 3 seconds.

8 cross-checks: CPU core count, API ↔ Android release, 64-bit ABI consistency, build fingerprint structure, SoC ↔ GPU vendor pairing, basic sensors, camera presence, ABI ↔ os.arch. Each failure deducts 3–25 points depending on severity. Pure on-device OS signals — no network, no profiling.

  • Color-coded score (green / blue / orange / red)
  • Full pass/fail breakdown with severity
  • Included in JSON / CSV export
v1.0.4 · P0

Battery State-of-Health %

Real quantified battery health on Android 15+.

Three-source pipeline: API 35 BATTERY_PROPERTY_STATE_OF_HEALTH first, then sysfs ratios (charge_full/charge_full_design, energy_full/energy_full_design), then graceful Unknown — never fabricated. Replaces the old Good/Overheat enum with an actual percentage.

  • Native Android 15 API (constant 17)
  • sysfs fallback for older roots
  • Hidden on unsupported devices — no fake numbers
v1.0.4 · P0

SoC Variant + big.LITTLE Breakdown

Snapdragon 8 Gen 3 vs SM8650-AC — finally tell them apart.

Combines Build.SOC_MODEL + /proc/cpuinfo + Build.HARDWARE with a vendor-prefix table (SM*→Qualcomm, MT*→MediaTek, S5E*→Samsung, ZUMA/GS*→Google, KIRIN*→HiSilicon, T*→UNISOC). ARM part-numbers (0xd05→Cortex-A55, 0xd87→Cortex-X4, …) map every core to its actual microarchitecture.

  • Marketing name + codename + manufacturer
  • Per-core layout (1×X4 + 3×A720 + 4×A520 etc.)
  • Falls back to raw codename rather than 'Unknown'
v1.0.4 · P0

Multi-source Thermal with Outlier Filter

Doesn't trust a single broken thermistor.

Reads battery intent + every /sys/class/thermal/thermal_zone*/temp; auto-converts millicelsius; drops < −20°C or > 150°C; computes median and excludes zones drifting > 30°C off; detects stuck sensors via 6-sample rolling window. Consensus = median of trustworthy zones.

  • Self-healing against broken ROM sensors
  • Stuck-sensor detection
  • Falls back to battery intent if nothing trusts
v1.0.4 · P0

Per-core CPU Usage

See exactly which core is melting.

Reads /proc/stat per cpuN line; delta active/total between samples; off-lined cores show 'off' instead of fake 0%. Refreshes at the user-configured interval. Combined with the SoC big.LITTLE map, you can finally tell whether the X4 prime or an A520 efficiency core is taking the load.

  • Real per-core %, not aggregated
  • Honest 'off' for hotplugged cores
  • Plots alongside CPU frequency chart
v1.0.4 · P0

GDPR-compliant Ads + Premium Skip

UMP consent flow + full ad-free Premium path.

Google UMP 3.0 consent request before any Mobile Ads init; Premium users completely short-circuit every banner/interstitial/rewarded code path; hidden 7-tap diagnostic panel exposes UMP, AdMob, ad-unit suffix, last load results, show counters.

  • GDPR / EU consent compliant
  • Premium = zero ads anywhere
  • Built-in diagnostic panel (7-tap About)

Core capabilities

Shipped and battle-tested since v1.0.0. Refined every release.

AI Health Analysis (Claude-powered)

  • · One-tap full-device check from Dashboard
  • · Three-tab AI workspace: Performance / Battery / Ask AI
  • · Markdown-rendered answers in your language
  • · Graceful local-rule fallback when offline or out of quota
  • · Default model: Claude Haiku 4.5 (BYOK or built-in key)

Real-time Performance Monitoring

  • · Live CPU / memory / battery temperature charts (MPAndroidChart)
  • · Adjustable refresh interval
  • · Per-process memory breakdown
  • · 5-factor weighted Health Score (memory 30 / storage 20 / battery 20 / CPU 15 / temp 15)

Floating Overlay

  • · Foreground service with FOREGROUND_SERVICE_SPECIAL_USE
  • · Live CPU / RAM / network speed
  • · Draggable, always-on-top

Device Info & Sensors

  • · Brand / model / Android / kernel / build fingerprint / ABI
  • · Display: resolution, refresh rate, DPI
  • · All sensors enumerated (accelerometer, gyro, light, proximity, etc.)
  • · Battery process / chemistry / charge counters

Quota & Privacy-first Billing

  • · 5 free AI queries / day, server-clock anchored (no local-time spoof)
  • · Rewarded ad → +1 query (cap 15/day)
  • · Premium → unlimited queries + zero ads
  • · No accounts, no servers — quota lives on-device

7-Language Native UI

  • · English, 简体中文, Deutsch, Español, Français, Italiano, 日本語
  • · Resource-based, fully offline localization
  • · Stable across Android 13+ language API changes

Security & Anti-Tamper

  • · Two-layer XOR key obfuscation (Java + native C)
  • · KeyGate runtime integrity (debug / root / emulator / signature)
  • · Optional TLS certificate pinning (5× Amazon Root CA SPKI)
  • · R8 minify + resource shrink in release builds

Export & Share

  • · Full device report as JSON or CSV
  • · Hardware Trust Score included
  • · No cloud upload — file stays on your device

What's next

Priority-ranked from a 77,088-review competitive analysis. The asks Android users actually voted on.

P1 · next release
  • Camera pixel-binning dual display (108MP → 27MP output)
  • True refresh rate via Display.getMode() (fixes LTPO showing 60Hz)
  • AI 'What does this mean?' chip on every parameter row
  • Storage health — write cycles, bad blocks
  • Baseband + carrier unlock status
P2 · evaluated for later
  • Display burn-in detection
  • Network quality score (latency / loss / jitter)
  • Charging protocol identification (PPS / PD / proprietary)
  • App cold-start baseline
  • Region-smart QR install landing (currently a static Play URL)

Ready to scan your device?

Free to install. AI checks free up to 5×/day. Premium = unlimited + zero ads.

Google Play recommended. Direct APK is a fallback for regions without GMS.