도브러너의 Widevine Android SDK는 App 프로젝트에 적용할 때 GitHub Packages 사용을 권장합니다.
이 때 GitHub의 Personal Access Token(PAT)이 사용되며, 적용 과정은 아래와 같이 진행합니다.
아래 내용은 SDK 내 Advanced Sample을 기준으로 작성된 가이드입니다.
Implementation Steps
1) GitHub Personal Access Token(PAT) 발급
GitHub 웹 → Settings → Developer settings → Personal access tokens (classic) → Generate new token (classic).
-
권한(Scope)에서
read:packages포함해 발급.토큰은 코드에 하드코딩하기보다는 아래와 같이 관리하는 것을 권장합니다.
프로젝트 루트 또는 사용자 홈의
gradle.propertiesOS 환경변수
예시 (gradle.properties)
# gradle.properties (project root 또는 ~/.gradle/gradle.properties)
gpr.user=YOUR_GITHUB_USERNAME
gpr.key=YOUR_GITHUB_PAT_WITH_read:packages
2) settings.gradle에 GitHub Packages 레포지토리 추가
Kotlin DSL (settings.gradle.kts)
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
// GitHub Packages: Widevine Android SDK
maven("https://maven.pkg.github.com/doverunner/widevine-android-sdk") {
name = "GitHubPackages"
credentials {
username = providers.gradleProperty("gpr.user")
.orElse(System.getenv("GITHUB_USER")).get()
password = providers.gradleProperty("gpr.key")
.orElse(System.getenv("GITHUB_TOKEN")).get()
}
}
}
}
3) app/build.gradle.kts 구성 적용
핵심 요점
최소
minSdk/targetSdk및 Java/Kotlin 호환 설정.필요한 AndroidX/Media3 등 기본 의존성.
Widevine Android SDK 의존성은 패키지 좌표(그룹/아티팩트/버전)에 맞춰 추가.
패키지 좌표는 계정/플랜에 따라 다를 수 있습니다. 제공받은 groupId:artifactId:version 또는 사내 버전 카탈로그를 사용하세요.
Kotlin DSL (app/build.gradle.kts)
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.parcelize)
}
android {
compileSdk = libs.versions.compileSdk.get().toInt()
namespace = "com.doverunner.advencedsample"
//...
dependencies {
// Replace <VERSION> with the actual release (e.g., 4.5.0)
implementation("com.doverunner:widevine:<VERSION>")
//...
}
4) Gradle Sync 및 빌드
Sync → Build 를 실행합니다.
정상이라면 GitHub Packages 인증 후 패키지를 해석하여 빌드가 통과합니다.
기대 결과
Gradle Sync/Build 성공.
Gradle 로그에
GitHubPackages접근/아티팩트 해석 메시지 확인.(샘플 프로젝트 기준) 여기까지 적용만으로도 앱이 빌드되어 실행됩니다.
발생할 수 있는 문제 및 조치
-
401 Unauthorized / Authentication failed
PAT 만료/오입력,
read:packages누락, 조직 SSO 미승인.조치: PAT 재발급, 권한 재확인, 조직 SSO 승인 후 재시도.
-
403 Forbidden / 404 Not Found
레포지토리/패키지 접근 권한 없음 또는 URL 오타.
조치:
https://maven.pkg.github.com/doverunner/widevine-android-sdk확인, 접근 권한 요청.
-
Could not resolve artifact / Could not GET
프록시/방화벽 차단, 캐시 문제.
조치: 프록시 설정,
--refresh-dependencies시도, Gradle 캐시 정리.
References
QuickStart.md (SDK 동봉 문서)
DoveRunner Docs - Widevine Android SDK Guide
https://docs.doverunner.com/content-security/multi-drm/clients/widevine-android/GitHub Docs — Personal Access Tokens (classic)
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens