오픈소스 고지 포함

Google Play 서비스에는 오픈소스 라이브러리가 포함되거나 이에 의존하는 경우가 있습니다. 오픈소스 라이브러리의 라이선스 요건을 준수하려면 개발자는 소스 라이브러리에 추가되어야 합니다.

Google Play 서비스에는 개발자가 오픈 소스 소프트웨어 고지를 더욱 쉽게 전달할 수 있는 확인할 수 있습니다. 이러한 도구 중 하나로, 라이선스 약관을 수집하는 Gradle 플러그인입니다. POM 파일에 선언된 대로 가져온 다음 활동 사용할 수 있습니다. 이 도구에서 및 패키지 라이선스 정보를 확인하세요.

Gradle 플러그인 추가

루트 수준 빌드 파일에서 다음을 수행합니다.

  1. Google Maven을 저장소를 사용합니다.
  2. 종속 항목에 oss-licenses 플러그인을 추가합니다.

다음 코드 스니펫은 이러한 단계를 보여줍니다.

Kotlin DSL

build.gradle.kts

buildscript {
  repositories {
    ...
    google()  // maven { url("https://maven.google.com") } for Gradle <= 3
  }
  dependencies {
    ...
    classpath("com.google.android.gms:oss-licenses-plugin:0.10.6")
  }
}

그루비 DSL

build.gradle

buildscript {
  repositories {
    ...
    google()  // maven { url "https://maven.google.com" } for Gradle <= 3
  }
  dependencies {
    ...
    classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6'
  }
}

앱 수준 빌드 파일에서 다음 줄을 추가하여 플러그인을 적용합니다. com.android.application 플러그인의 기존 선언 아래 .

Kotlin DSL

app/build.gradle.kts

plugins {
    id("com.android.application")
    id("com.google.android.gms.oss-licenses-plugin")
}

그루비 DSL

app/build.gradle

plugins {
    id 'com.android.application'
    id 'com.google.android.gms.oss-licenses-plugin'
}

페이지의 코드를 GitHub의 플러그인입니다.

앱에 라이브러리 추가

앱 수준 빌드 파일의 dependencies 섹션에서 oss-licenses 라이브러리의 종속 항목을 추가합니다.

Kotlin DSL

build.gradle.kts

implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")

그루비 DSL

build.gradle

implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'

라이선스 정보 표시

앱이 빌드되면 Gradle 플러그인이 라이선스를 처리하여 확인할 수 있습니다 활동을 실행하여 라이선스를 쉽게 표시할 수 있습니다. play-services-oss-licenses 라이브러리가 적절한 포인트에 연결할 수 있습니다.

Kotlin

import com.google.android.gms.oss.licenses.OssLicensesMenuActivity
...

// When the user selects an option to see the licenses:
startActivity(Intent(this, OssLicensesMenuActivity::class.java))

자바

import com.google.android.gms.oss.licenses.OssLicensesMenuActivity;
...

// When the user selects an option to see the licenses:
startActivity(new Intent(this, OssLicensesMenuActivity.class));

이 활동을 실행하면 사용 가능한 오픈소스 라이브러리 목록이 표시됩니다. (Google Play에 포함된 라이브러리 포함) 앱에 컴파일된 파일 Google Cloud 서비스를 사용하는 것이 좋습니다 도서관 이름을 탭하여 볼 수 있음 추가 라이선스 정보를 볼 수 있습니다.

각 요소에 오픈소스 이름이 포함된 목록 보기
라이브러리

그림 1. 라이선스 메뉴 활동에 열려 있는 선택 가능한 목록이 표시됨 소스 라이브러리를 생성합니다.

활동 제목 설정

기본적으로 활동의 제목은 '오픈소스 라이선스'입니다. 다음과 같은 작업을 할 수 있습니다. 다음을 호출하여 활동 제목을 사용자 지정합니다. setActivityTitle()님, 다음 코드 스니펫과 같습니다.

Kotlin

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title))

자바

OssLicensesMenuActivity.setActivityTitle(getString(R.string.custom_license_title));

활동에 테마 적용

앱에 사용된 테마와 일치하도록 활동에 테마를 적용할 수 있습니다. 기타 활동을 할 수 있습니다. 이렇게 하려면 앱의 매니페스트 파일 내에 <activity> 요소를 추가합니다. 코드 스니펫:

<application android:theme="@style/AppTheme" ...>
    <activity
        android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
        android:theme="@style/AppTheme" />
    <activity
        android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
        android:theme="@style/AppTheme" />
</application>

라이선스 목록이 결정되는 방식

컴파일 시 Gradle 플러그인이 앱의 POM 종속 항목을 검사합니다. 살펴보겠습니다 앱의 직접 종속 항목에 대한 Maven POM이 존재하는 경우 플러그인은 각 <licenses> 처리 요소를 추가하고 각 라이선스의 링크와 제목을 포함되어 있습니다.