ShizuStore

Iris长截图

raging-flames

1.0.0 · GitHub

Download APK
Miscellaneous Android 10+ 2 months ago Proprietary
42 ShizuStore
224 GitHub
11 Stars
4 MB Size

More about this app

Scrolling-screenshot tool for Android games that auto-scrolls and stitches long captures using MediaProjection or Shizuku-powered shell capture.

IrisShot

简体中文 | English

IrisShot 是一款面向 Android 横屏游戏的长截图工具,通过屏幕捕获、自动滑动、画面分析与图像拼接生成长截图。

主要功能

  • 支持横向和纵向滚动截图
  • 支持配置截图区域、滑动区域和固定区域
  • 支持 MediaProjection 与 Shizuku 两种捕获方式
  • 支持导出 JPG 和 PNG 图片
  • 支持结果预览、裁剪、重新拼接与分享

系统要求

  • Android 10(API 29)及以上
  • 自动滑动需要无障碍权限,或使用 Shizuku 模式

构建

使用 Android Studio 打开项目并同步 Gradle,然后选择 app 配置进行构建。

  • JDK 21
  • Android SDK 36.1
  • Gradle 9.4.1
Close

How Shizuku is used

Can take scrolling screenshots, auto scroll games and grant its own overlay and notification permissions via Shizuku shell commands and input injection.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

Shizuku powers an alternative capture and scrolling engine for long screenshots of games, plus automatic permission grants and foreground detection.

  • Capture screen without recording: takes each stitch frame with the screencap -p shell command through Shizuku instead of screen recording, used for the scrolling capture loop, region learning samples and template saves.
  • Auto scroll game pages: performs the scroll gesture by injecting touchscreen down, move and up events through Shizuku, driving automatic page turns during capture and region learning.
  • Enable floating controls automatically: grants the app's own display over other apps permission with an app operations command through Shizuku when the user enables it from the main screen.
  • Enable notifications automatically: grants the app's own notification permission with a package manager or app operations command through Shizuku when the user enables it from the main screen.
  • Find the game to capture: reads the currently visible app and window state with system status dumps through Shizuku to target the overlay, keep polling during capture and stop when the target is unsafe.

Android APIs or commands used

  • screencap -p
  • cmd appops set --user SYSTEM_ALERT_WINDOW allow
  • cmd appops set --user --uid SYSTEM_ALERT_WINDOW allow
  • pm grant --user android.permission.POST_NOTIFICATIONS
  • cmd appops set --user POST_NOTIFICATION allow
  • dumpsys window
  • dumpsys activity activities
  • dumpsys input
  • android.hardware.input.InputManagerGlobal.getInstance()
  • InputManager.injectInputEvent
  • MotionEvent.obtain

Notable details

Shizuku mode is optional. The app can also capture with MediaProjection and request overlay and notification access manually, so the same long screenshot flow can work without Shizuku with extra user steps.

Close

Changelog

What's new for version 1.0.0

Close

Permissions

9 permissions requested

  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
  • android.permission.FOREGROUND_SERVICE_SPECIAL_USE
  • android.permission.POST_NOTIFICATIONS
  • android.permission.VIBRATE
  • android.permission.WAKE_LOCK
  • moe.shizuku.manager.permission.API_V23
  • com.apricotiris.IrisShot.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Close