Przewodnik po konfiguracji Androida

Na tej stronie opisujemy, jak skonfigurować środowisko programistyczne, aby używać funkcji MediaPipe Tasks w aplikacjach na Androida.

Obsługiwane urządzenia i platformy

Aby można było tworzyć aplikacje na Androida za pomocą zadań MediaPipe, w środowisku programistycznym potrzebne są:

  • Android Studio z zalecaną wersją co najmniej 2021.1.1 (Bumblebee) lub innym zgodnym IDE.
  • pakiet SDK do Androida w wersji 24 lub nowszej.
  • urządzenie z Androidem i co najmniej minimalną wersją pakietu SDK; Emulator Androida może nie działać w niektórych zadaniach.

Konfiguracja środowiska programistycznego

Zanim uruchomisz zadanie MediaPipe w aplikacji na Androida, musisz mieć gotową aplikację lub utworzyć nowy projekt Android Studio na komputerze lokalnym. MediaPipe mieści się w warstwie danych aplikacji, która zawiera dane aplikacji i logikę biznesową. Więcej informacji o architekturze aplikacji na Androida znajdziesz w przewodniku po architekturze aplikacji.

Konfiguracja urządzenia z Androidem

Zanim przetestujesz aplikację na fizycznym urządzeniu z Androidem, musisz włączyć Opcje programisty i debugowanie USB. Instrukcje konfigurowania urządzenia za pomocą Opcji programisty znajdziesz w artykule Konfigurowanie opcji programisty na urządzeniu.

Do zadań, które nie wymagają kamery ani mikrofonu urządzenia, możesz użyć emulatora urządzenia z Androidem zamiast fizycznego urządzenia z Androidem. Instrukcje konfigurowania emulatora Androida znajdziesz w artykule Uruchamianie aplikacji przy użyciu emulatora Androida.

Przykład konfiguracji kodu

Repozytorium MediaPipe Przykłady zawiera przykładowe aplikacje na Androida dla poszczególnych zadań MediaPipe. Możesz utworzyć projekt na podstawie przykładowego kodu, skompilować go, a potem go uruchomić.

Aby zaimportować i skompilować przykładowy projekt kodu:

  1. Uruchom Android Studio.
  2. W Android Studio wybierz Plik > Nowy > Importuj projekt.
  3. Przejdź do katalogu z przykładowym kodem, który zawiera plik build.gradle, i wybierz ten katalog, na przykład: .../mediapipe/examples/text_classification/android/build.gradle
  4. Jeśli Android Studio zażąda synchronizacji z Gradle, kliknij OK.
  5. Upewnij się, że urządzenie z Androidem jest podłączone do komputera i że jest włączony tryb programisty. Kliknij zieloną strzałkę Run.

Jeśli wybierzesz właściwy katalog, Android Studio utworzy i utworzy nowy projekt. Ten proces może potrwać kilka minut w zależności od szybkości Twojego komputera i od tego, czy Android Studio był przez Ciebie używany do innych projektów. Po zakończeniu kompilacji Android Studio wyświetli komunikat BUILD SUCCESSFUL w panelu stanu Dane wyjściowe kompilacji.

Aby uruchomić projekt:

  1. W Android Studio uruchom projekt, wybierając Uruchom > Uruchom...
  2. Aby przetestować aplikację, wybierz podłączone urządzenie z Androidem (lub emulator).

Zależności zadań MediaPipe

MediaPipe Tasks zawiera 3 gotowe biblioteki do rozpoznawania obrazu, tekstu i dźwięku. Plik modelu .tflite musi znajdować się w katalogu zasobów modułu Androida, który korzysta z modelu. W zależności od zadania MediaPipe używanego przez aplikację dodaj do listy zależności w pliku build.gradle bibliotekę wizyjną, tekstową lub audio.

Zadania generatywnej AI

Biblioteki generatywnej AI MediaPipe Listy zadań zawierają zadania, które obsługują generowanie obrazów lub tekstu. Aby zaimportować do Androida Studio biblioteki generatywnej AI MediaPipe, dodaj zależności do pliku build.gradle.

Generator obrazów

Zadanie Generatora obrazów MediaPipe jest zawarte w bibliotece tasks-vision-image-generator. Dodaj zależność do pliku build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

Interfejs LLM Inference API

Zadanie MediaPipe LLM Inference jest zawarte w bibliotece tasks-genai. Dodaj zależność do pliku build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

Zadania związane z widocznością

Biblioteka obrazów MediaPipe Tasks zawiera zadania obsługujące dane wejściowe graficzne lub wideo. Aby zaimportować bibliotekę wizji MediaPipe Tasks do Android Studio, dodaj te zależności do pliku build.gradle:

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

Zadania tekstowe

Biblioteka tekstowa zadań MediaPipe zawiera zadania obsługujące dane językowe w formacie tekstowym. Aby zaimportować bibliotekę tekstową zadań MediaPipe w Android Studio, dodaj do pliku build.gradle te zależności:

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

Zadania związane z dźwiękiem

Biblioteka audio Listy zadań MediaPipe zawiera zadania obsługujące dane wejściowe dźwięku. Aby zaimportować bibliotekę audio zadań MediaPipe w Android Studio, dodaj do pliku build.gradle te zależności:

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

Konfiguracja BaseOptions

BaseOptions pozwala na ogólną konfigurację interfejsów MediaPipe Task API.

Nazwa opcji Opis Akceptowane wartości
modelAssetBuffer Zawartość pliku zasobu modelu jako bezpośrednia ByteBuffer lub MappedByteBuffer. ByteBuffer lub MappedByteBuffer jako ciąg znaków
modelAssetPath Ścieżka modelu do pliku komponentu z modelem w folderze komponentów z linkiem do aplikacji na Androida. Ścieżka pliku w postaci ciągu znaków
modelAssetFileDescriptor Liczba całkowita deskryptora pliku natywnego pliku zasobu modelu. Liczba całkowita określająca deskryptor pliku
Delegate Włącza akcelerację sprzętową za pomocą przedstawiciela urządzenia, aby uruchomić potok MediaPipe. Wartość domyślna: CPU [CPU,
GPU]

Akceleracja sprzętowa

MediaPipe Tasks obsługuje modele procesorów graficznych (GPU) do uruchamiania modeli systemów uczących się. Na urządzeniach z Androidem możesz włączyć przyspieszone przetwarzanie modeli przez procesor graficzny za pomocą przedstawicieli. Przedstawiciele działają jako sterowniki sprzętowe MediaPipe, umożliwiając uruchamianie modeli na procesorach GPU, a nie standardowych.

Skonfiguruj przekazywanie dostępu GPU w opcjach zadań w BaseOptions:

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

Rozwiązywanie problemów

Jeśli masz pytania techniczne związane z MediaPipe, odwiedź grupę dyskusyjną lub Stack Overflow, aby uzyskać wsparcie od społeczności. Aby zgłosić błędy lub poprosić o dodanie funkcji, zgłoś problem na GitHubie.

Jeśli potrzebujesz pomocy w konfigurowaniu środowiska programistycznego Androida, zapoznaj się z dokumentacją dla deweloperów aplikacji na Androida.