LiteRT Maven에서 미리 빌드된 C++ 라이브러리 사용

전체 LiteRT 소스 트리를 빌드하지 않고도 Android 애플리케이션에 LiteRT Maven 패키지의 사전 빌드 C++ 라이브러리를 사용할 수 있습니다. 통합은 CMake로 할 수 있습니다.

다음은 C++ NDK 코드에서 LiteRT CompiledModel API를 사용하는 기본 단계를 보여줍니다.

미리 빌드된 LiteRT C++ 라이브러리 통합

LiteRT C++ SDK를 호스팅할 폴더를 선택합니다. 이를 <litert_cc_sdk_location>라고 하겠습니다.

  1. C++ SDK 다운로드

    <litert_cc_sdk_location> 아래의 LiteRT C++ SDK zip 파일에서 필요한 파일 (CMakeLists.txt, 소스 및 헤더 파일)을 준비해야 합니다.

    wget https://github.com/google-ai-edge/LiteRT/releases/download/<litert_version>/litert_cc_sdk.zip
    unzip litert_cc_sdk.zip -d <litert_cc_sdk_location>
    
  2. LiteRT Maven 패키지의 libLiteRt.so<litert_cc_sdk_location> 아래에 배치합니다.

    cp <path_to_prebuilt_lib>/libLiteRt.so <litert_cc_sdk_location>/litert_cc_sdk/
    
  3. LiteRT API를 사용하도록 CMakeLists.txt를 업데이트합니다.

    add_subdirectory("<litert_cc_sdk_location>" "<litert_cc_sdk_location>/build")
    include_directories("<litert_cc_sdk_location>")
    
    target_link_libraries(${CMAKE_PROJECT_NAME}
            # Use `litert_cc_api` for LiteRT C++ SDK
            litert_cc_api
            android
            log)
    
  4. build.gradle.kts를 업데이트하여 LiteRT C++ SDK를 구성합니다.

        externalNativeBuild {
            cmake {
                path = file("<litert_cc_sdk_location>/CMakeLists.txt")
                version = "3.22.1"
            }
        }
    

사전 빌드된 GPU 가속기 다운로드

GPU 가속이 필요한 경우 GPU 가속기가 필요합니다. 아직 오픈소스가 아니므로 미리 빌드를 다운로드해야 합니다.

libLiteRtGpuAccelerator.so를 다운로드하고 NDK 바이너리와 함께 번들로 묶습니다.