상세 컨텐츠

본문 제목

flutter Package 라이센스 정리, dart_pubspec_licenses 활용하여.

flutter

by carecat 2025. 9. 10. 14:58

본문

반응형

flutter 개발에 사용된 (import) 패키지 라이센스 정리 방안입니다. dart_pubspec_licenses

앱 출시전 임포트한 패키지 라이센스 정책에 따라 고지를 해야합니다.

여러가지 방법이 있으나, 그나마 편리한 dart_pubspec_licenses  패키지를 이용하여 정리합니다.

 

1.우선 임포트합니다.

dev_dependencies:
  flutter_test:
    sdk: flutter
  dart_pubspec_licenses: ^3.0.8

위치 중요합니다. 

상단에  dev_dependencies: 에 선언해줍니다.

 

2.  터미널 에서   flutter pub get....

3.  터미널 에서  flutter pub run dart_pubspec_licenses:generate 

 

그러면 프로젝트 lib 폴더안에 

oss_licenses.dart

 

파일이 자동 생성됩니다.

열어서 확인해보면...

현재 개발에 들어간 여러패키지가 나열되어있습니다..

/// This package.
const thisPackage = '라이센스수집테스트';

/// All dependencies including transitive dependencies.
const allDependencies = <Package>[
  __flutterfire_internals,
/// Direct `dependencies`.
const dependencies = <Package>[
  _flutter,
  _firebase_core,

 

식으로 나올겁니다..

allDependencies 항목은 의존성까지 포함해서 모두 나오고..

dependencies 에선 설치하고 임포트한 패키지가 나옵니다..

 

4.이 dart 파일을 ui에서 수집해서 구현해주면 됩니다.

보통 리스트형태로 구현해주면 되고 각 항목을 탭 하면(클릭) 상세 라이센스가 나오도록 구현해주면 됩니다.

(두개의 페이지로 구성하면 무난합니다.)

 - 요약페이지

 - 탭하면 상세 라이센스 보임

 

return ListTile(
  title: Text('${package.name} ${package.version}'),
  subtitle: package.description.isNotEmpty
      ? Text(package.description)
      : null,
  trailing: const Icon(Icons.chevron_right),
  onTap: () => Navigator.of(context).push(
    MaterialPageRoute(
      builder: (context) =>
          MiscOssLicenseSingle(package: package),
    ),
  ),
);

 

반응형

관련글 더보기