CS/Android

SDK와 PDK

졔졔311 2025. 1. 6. 08:29
728x90
반응형

앱개발을 시작하면서, SDK는 많이 들어봤는데 회사에서 사용하는 PDK라는 것도 있어서 헷갈려서 정리한다!

 

SDK

Software Development Kit

특정 플랫폼이나 환경에서 소프트웨어를 개발하기 위해 필요한 도구, 라이브러리, 샘플 코드, 문서 등을 제공하는 소프트웨어 개발 도구 모음

 

Android SDK

안드로이드 플랫폼용 앱 개발을 위한 도구 키트

Android 앱 개발에 필요한 모든 기본 기능(UI 구성, DB 작업, 네트워크 요청 등)을 제공

Android Emulator를 사용해 다양한 기기와 API 버전에서 앱을 테스트할 수 있도록 하고,

여러 Android OS 버전 및 기기에서 동작하도록 호환성 관리 및 디버깅 도구를 제공

 

Android SDK의 구성 요소로는

- API 라이브러리 : Android 시스템과 상호작용하기 위한 View, Activity, Intent 등의 클래스

- Build Tools : 앱을 컴파일하고 패키징하여 실행 가능한 파일(APK)를 만드는 도구

- Platform Tools : ADB(Android Debug Bridge), Fastboot 등의 앱 디버깅 및 테스트 도구

- Gradle : 빌드 자동화 및 의존성 관리 도구

등이 있다.

 

예를 들어, 다음 코드를 보자.

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.TextView

class MainActivity : AppCompatActivity() {		// => AppCompatActivity 클래스
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val textView = TextView(this)			// => TextView 클래스
        textView.text = "Hello, World!"
        setContentView(textView)
    }
}

여기 코드에서 AppCompatActivity나 TextView 클래스는 Android SDK의 API 라이브러리에 포함되어 있다.

따라서, import를 통해 가져와서 바로 쓸 수 있다.

 

PDK

Platform Development Kit

Android 플랫폼을 수정하거나 확장하려는 디바이스 제조업체(OEM)를 위해 제공되는 툴킷

일반 개발자가 사용하는 Android SDK와는 다르다.

Android OS의 소스 코드, 드라이버, 빌드 도구 등을 포함

PDK는 실행 가능한 형태가 아닌 소스 코드 형태로 제공되며, 제조 업체가 직접 빌드

 

즉, 지금처럼 자동차에 들어가는 앱을 개발하기 위해서는, 일반적인 플랫폼과는 달리 자체 시스템에 맞추어 개발할 수 있도록 PDK를 통한 수정이 필요하다!

 

SDK vs PDK 비교

  SDK PDK
목적 소프트웨어 개발 지원 플랫폼 개발 및 하드웨어-OS 통합 지원
대상 앱 개발자 하드웨어 제조업체(OEM)
사용 범위 앱 개발 및 배포 하드웨어와  Android 플랫폼의 통합
구성 요소 API, 도구, 샘플 코드, 문서 Android 소스 코드, 드라이버 통합 도구, 테스트 도구, 문서
사용 사례 Android 앱, 게임, 유틸리티 개발 새로운 Android 디바이스 제작 및 OS 커스터마이징
배포 시점 Google Play 스토어와 같은 앱 배포 플랫폼 하드웨어 제조업체에 Google이 제공

 

728x90
반응형

'CS > Android' 카테고리의 다른 글

State(MutableState)  (0) 2025.02.03
Flashing과 Fastboot  (1) 2025.01.06
Build Variant  (1) 2024.12.26
Coroutine (2)  (0) 2024.12.24
Coroutine (1)  (0) 2024.12.17