최근 모바일 앱 개발자들 사이에서 시스템 API에 대한 접근성을 높이고, 사용자 경험을 극대화하기 위한 다양한 시도가 이루어지고 있습니다. 그 중에서도 Shizuku+는 기존의 Shizuku를 기반으로 한 확장 프로젝트로, 시스템-level API를 보다 쉽고 효율적으로 사용할 수 있게 도와줍니다. 이번 포스트에서는 Shizuku+의 주목할 만한 기능과 설치 방법, 그리고 실무에서의 활용 시나리오를 소개하겠습니다.

Shizuku+란 무엇인가?

Shizuku+는 정상적인 앱이 adb 또는 root 권한으로 시작된 특권 프로세스를 통해 시스템-level API를 직접 사용할 수 있도록 하는 도구입니다. 기존의 Shizuku와 완벽하게 호환되면서도, 여러 가지 품질 개선과 새로운 기능을 제공합니다. 특히, 파워 유저와 개발자들을 겨냥한 다양한 기능들이 추가되어 있어, 시스템 제어를 원하는 사용자에게 매우 유용합니다.

주요 기능 및 특징

1. 유니버설 권한 제공자

Shizuku+는 Root, ADB Shell, 그리고 Dhizuku (Device Owner)를 하나의 인터페이스로 결합하여 사용자가 복잡한 설정 없이도 시스템 API에 접근할 수 있도록 도와줍니다.

2. OneUI 8+ 테마 수정

안드로이드 14 이상에서 안정적인 OverlayManagerTransaction을 사용하여 Hex Installer나 Substratum과 같은 테마 엔진이 OneUI 8+에서 제대로 작동할 수 있게 해줍니다.

3. Dhizuku 모드

ADB를 통해 Shizuku+를 Device Owner로 설정할 수 있어, 루트 없는 관리 플랫폼으로 사용할 수 있습니다.

4. 커스터마이즈 가능한 제스처

관리 리스트의 각 앱에 대해 좌우 스와이프 및 롱프레스 액션을 설정할 수 있는 기능을 제공합니다.

5. 인앱 변경 로그

업데이트 후 앱을 떠나지 않고도 새로운 기능을 즉시 확인할 수 있습니다.

6. 통합 관리

여러 앱을 한 번에 선택하여 권한을 부여하거나 취소할 수 있는 기능이 있어 관리가 효율적입니다.

7. 서비스 진단 도구

앱 내에서 서비스 시작 문제를 진단하고 해결할 수 있는 도구를 제공합니다.

설치 방법

Shizuku+를 설치하는 방법은 간단합니다. 아래 단계에 따라 설정하세요.

  1. GitHub Releases에서 다운로드: Shizuku+ Releases 페이지로 이동하여 최신 버전을 다운로드합니다.
  2. APK 파일 설치: 다운로드한 APK 파일을 실행하여 설치합니다.
  3. ADB 설정: 디바이스에서 USB 디버깅을 활성화한 후, PC와 연결합니다. 아래 명령어를 통해 Shizuku+를 시작합니다.
  4. adb shell sh /data/local/tmp/shizuku_start.sh
  5. 앱 권한 부여: Shizuku+ 앱을 실행하여 필요한 권한을 부여합니다.

기본 사용법 예제

Shizuku+의 주요 기능을 사용하기 위하여 몇 가지 코드 예제를 살펴보겠습니다.

시스템 API 접근 예제

아래는 Shizuku+를 통해 시스템 API에 접근하는 Kotlin 코드 예제입니다.

import com.shizuku.api.Shizuku

fun getSystemService() {
    // Shizuku API를 통해 시스템 서비스에 접근
    val powerManager = Shizuku.getSystemService(Context.POWER_SERVICE) as PowerManager
    // 서비스 사용 예제 (전원 관리)
    powerManager.reboot(null)
}

이 코드는 시스템 전원 관리 서비스를 통해 재부팅을 수행하는 예제입니다. Shizuku+의 특권을 이용하여 보안이 필요한 작업을 수행할 수 있습니다.

실무에서의 활용 시나리오

Shizuku+는 다양한 실무에서 활용될 수 있습니다. 예를 들어, 커스터마이징된 안드로이드 앱을 개발하는 경우, 시스템 API를 통해 앱의 기능을 확장할 수 있습니다. 또한, 루트 권한을 요구하는 앱을 관리할 때 Shizuku+의 Root Compatibility Hub 기능을 사용하면, 여러 앱의 권한을 효율적으로 조정할 수 있습니다.

비슷한 도구로는 Magisk가 있습니다. Magisk는 시스템 변경 없이 루트 권한을 부여하는 반면, Shizuku+는 더 직관적인 API 접근을 가능하게 해주는 점이 차별화된 특징입니다.

마무리

Shizuku+는 유연하고 강력한 시스템 API 접근을 원하는 개발자와 파워 유저에게 적합한 도구입니다. 특히, 시스템-level 기능을 활용하고 싶은 앱 개발자들에게 큰 도움이 될 것입니다. 필요한 기능을 손쉽게 사용할 수 있는 Shizuku+를 한 번 사용해보시기 바랍니다.

자세한 내용은 GitHub에서 확인해보세요: Shizuku+ GitHub