안녕하세요. 메로나입니다.
오늘은 Android Signing에 대해 공부하겠습니다.
Android Signing 이란?
애플리케이션의 무결성을 보장하고, 해당 애플리케이션이 신뢰할 수 있는 출처에서 왔음을 증명합니다. 서명은 개발자가 소유한 인증서를 사용하여 이루어지며, 이를 통해 APK가 수정되지 않았음을 확인할 수 있습니다.
- 무결성 보장: 악의적인 행위에 의해 손상되지 않았음을 증명합니다.
- 개발자 신뢰성 제공: 개발자 신원을 확인할 수 있습니다.
- 업데이트 관리: 동일한 키로 서명된 APK만 기존 애플리케이션을 업데이트할 수 있습니다.
Android Signing 종류
1. Debug Signing
용도: 로컬 테스트 및 개발 단계에서 사용합니다.
특징: Android Studio에서 기본 제공하는 디버그 키로 서명됩니다.
제약: Google Play에 배포할 수 없습니다.
2. Release Signing
용도: 애플리케이션 배포할 수 있습니다.
특징: 개발자가 생성한 Release KeyStore로 서명할 수 있습니다.
제약: KeyStore와 비밀번호를 안전하게 관리해야합니다.

3. Google Play App Signing
용도: Google Play에서 앱 배포 시 사용합니다.
특징: Google이 앱 서명 키를 관리하며, 개발자는 업로드 키로 서명합니다.
장점: KeyStore 손실 시 복구 가능합니다.
4. System Signing
용도: 시스템 앱 또는 OEM 관련 앱에서 사용합니다.
(OEM: 특정 제품이나 구성 요소를 설계하고 제조하여 다른 회사의 브랜드로 판매하도록 제공하는 기업을 의미)
특징: 기기 제조사나 시스템 이미지에 포함된 앱을 서명합니다.
장점: 시스템 권한을 요구하는 앱에 사용 가능합니다.
제약: 일반 개발자가 사용하기 어렵습니다.
5. Shared User ID Signing
용도: 동일한 Shared User ID를 사용하는 앱 간의 데이터 공유할 수 있습니다.
특징: 동일한 키로 서명된 앱만 데이터 공유 가능합니다.
제약: 서명 키 관리가 까다롭습니다.
참고문헌
https://cocoslime.github.io/blog/Android-App-Signing/
[Android] 안드로이드 앱 서명 (feat. Android App Bundle)
안드로이드 앱 서명 방식의 변화와 AAB에 대해 알아보자
cocoslime.github.io
'Build Gradle' 카테고리의 다른 글
| [Build Gradle] Android Gradle Plugin의 주요 기능 및 활용법 (0) | 2025.01.21 |
|---|---|
| [Build Gradle] 종속성 관리 (0) | 2025.01.18 |
| [Build Gradle] Gradle Wrapper 란? (0) | 2025.01.17 |
| [Build Gradle] build.gradle file (0) | 2025.01.16 |
| [Build Gradle] settings.gradle File (0) | 2025.01.15 |
