كل الأعمال

جذر

محاكي Android مفتوح المصدر لأجهزة ماك بمعالجات Apple، مع أجهزة بصلاحيات root بنقرة واحدة.

الدور
بمفردي، من البداية إلى النهاية
الحالة
مُصدر، الإصدار 0.2
متى
2026
التقنيات
  • Rust
  • Slint
  • gRPC
  • JSON-RPC
  • MCP
  • Magisk
  • Astro
روابط
jidr.lyالمصدر

بديل مجاني لـ Genymotion Desktop. يشغّل صور المحاكي من Google دون واجهة، ويمنح الجهاز صلاحيات root عبر Magisk ويتحقق منها، ويأتي بتطبيق سطح مكتب وواجهة سطر أوامر وخادم MCP لتتمكن Claude والوكلاء الآخرون من رؤية الهاتف والتحكم به.

سجل القرارات الكامل متاح بالإنجليزية.

Context

Testing an app against a rooted Android device on a Mac meant either paying for Genymotion or patching a ramdisk by hand for the Android Studio emulator. Neither gives an AI agent a clean way to see the screen and tap it. Jidr (جذر, Arabic for root) is the free, scriptable version.

Decisions

Drive Google’s emulator rather than write a hypervisor. Jidr runs the AOSP emulator headless from its own SDK copy and never touches Android Studio’s SDK or devices, so installing it cannot break someone’s existing setup.

Measure the display path before building on it. The first spike streamed raw RGBA frames over the emulator’s gRPC API straight into a Slint image buffer: 59.9 frames a second and a 13.5 ms median from touch to changed frame on an M1 Pro. That made shared memory and GPU texture import unnecessary. The same spike found that the default GPU mode silently falls back to software rendering without a window, at twice the CPU and two thirds of the frame rate, so Jidr always launches with the host GPU.

Root is a verified state, not a checkbox. Full root patches Magisk into a per-device copy of the ramdisk and then checks it with su -c id; Shell root uses adb root. Snapshots are tagged with the root mode they were taken in, and changing root forces a cold boot so a snapshot cannot lie about it.

One control protocol for every client. The app, the CLI and the MCP server speak the same JSON-RPC to a daemon that starts with the first client and exits ten minutes after the last device stops. Through MCP an agent can read, tap and type by default; anything destructive needs an explicit flag or a device the agent created.

Apache-2.0 for the core and GPLv3 only for the desktop app, which is the price of the Slint toolkit. No accounts, no telemetry, no paid tier.

Consequences

Version 0.2 is out as a DMG for Apple Silicon. It is Mac only for now, and some Genymotion features, such as operator and SIM identity, IMEI changes and disk speed limits, are listed as gaps rather than implied.

Building on the stock emulator means living with its quirks. One example: it ignores a frame request that sets only the width and sends full resolution instead, which the spike caught before the player was built on it.