Pierwsze kroki z pakietem NDK

Pakiet Native Development Kit (NDK) to zestaw narzędzi, które umożliwiają używanie kodu w językach C i C++ na Androidzie. Udostępnia też biblioteki platform, które pozwalają zarządzać natywnymi działaniami i uzyskiwać dostęp do fizycznych komponentów urządzenia, takich jak czujniki i funkcje wprowadzania danych dotykowych. Pakiet NDK może nie być odpowiedni dla większości początkujących programistów aplikacji na Androida, którzy podczas programowania aplikacji potrzebują tylko kodu w Javie i interfejsów API platformy. Pakiet NDK może być jednak przydatny w sytuacjach, gdy musisz wykonać co najmniej jedną z tych czynności:

  • Zwiększ wydajność urządzenia, aby uzyskać krótkie opóźnienia lub uruchamiać aplikacje wymagające dużej mocy obliczeniowej, takie jak gry lub symulacje fizyczne.
  • Ponownie używaj bibliotek C lub C++ swoich lub innych programistów.

W Android Studio w wersji 2.2 lub nowszej możesz użyć pakietu NDK do skompilowania kodu w języku C i C++ do biblioteki natywnej oraz do spakowania go do pliku APK za pomocą Gradle, zintegrowanego systemu kompilacji IDE. Kod w Javie może następnie wywoływać funkcje w bibliotece natywnej za pomocą platformy JNI (Java Native Interface). Więcej informacji o Gradle i systemie kompilacji Androida znajdziesz w artykule Konfigurowanie kompilacji.

Domyślnym narzędziem do kompilacji w Android Studio do kompilowania bibliotek natywnych jest CMake. Android Studio obsługuje też narzędzie ndk-build ze względu na dużą liczbę istniejących projektów, które korzystają z tego zestawu narzędzi. Jeśli jednak tworzysz nową bibliotekę natywną, użyj CMake.

W tym przewodniku znajdziesz informacje potrzebne do rozpoczęcia korzystania z pakietu NDK w Android Studio. Jeśli nie masz najnowszej wersji Android Studio, pobierz ją i zainstaluj teraz.

Uwaga dla eksperymentalnych użytkowników Gradle: rozważ migrację do wtyczki w wersji 2.2.0 lub nowszej i użycie CMake lub ndk-build do utworzenia bibliotek natywnych, jeśli któraś z tych sytuacji Cię dotyczy: Twój projekt natywny korzysta już z CMake lub ndk-build; lepiej jest używać stabilnej wersji systemu kompilacji Gradle lub potrzebujesz obsługi narzędzi dodatkowych Możesz też nadal korzystać z eksperymentalnej wersji Gradle i wtyczki na Androida.

Pobierz pakiet NDK i narzędzia

Aby skompilować i debugować kod natywny aplikacji, potrzebujesz tych komponentów:

  • Android Native Development Kit (NDK) to zestaw narzędzi, które umożliwiają używanie kodu w językach C i C++ na Androidzie.
  • CMake: zewnętrzne narzędzie do kompilacji, które współpracuje z Gradle przy tworzeniu biblioteki natywnej. Nie potrzebujesz tego komponentu, jeśli zamierzasz używać tylko ndk-build.
  • LLDB: debuger używany w Android Studio do debugowania kodu natywnego

Informacje o instalowaniu tych komponentów znajdziesz w artykule Instalowanie i konfigurowanie NDK i CMake.

Tworzenie lub importowanie projektu natywnego

Gdy skonfigurujesz Android Studio, możesz po prostu utworzyć nowy projekt z pomocą C/C++. Jeśli jednak chcesz dodać kod natywny do istniejącego projektu Android Studio lub go zaimportować, musisz wykonać tę podstawową procedurę:

  1. Utwórz nowe natywne pliki źródłowe i dodaj je do projektu Android Studio.
    • Możesz pominąć ten krok, jeśli masz już kod natywny lub chcesz zaimportować gotową bibliotekę natywną.
  2. Utwórz skrypt kompilacji CMake, aby wskazać CMake, jak wbudować źródła natywne w bibliotekę. Wymagany jest także skrypt kompilacji, jeśli importujesz i przeprowadzasz połączenia z bibliotekami gotowymi lub bibliotekami platformy.
    • Możesz pominąć ten krok, jeśli w Twojej istniejącej bibliotece natywnej jest już skrypt kompilacji CMakeLists.txt lub jeśli używasz narzędzia ndk-build i zawiera skrypt kompilacji Android.mk.
  3. Połącz Gradle z biblioteką natywną, podając ścieżkę do pliku skryptu CMake lub ndk-build. Gradle używa skryptu kompilacji, aby zaimportować kod źródłowy do projektu Android Studio i spakować bibliotekę natywną (plik SO) do pliku APK.

    Uwaga: jeśli w Twoim projekcie jest używane wycofane narzędzie ndkCompile, przed skonfigurowaniem Gradle do korzystania z CMake lub ndk-build otwórz plik build.properties i usuń ten wiersz kodu:

    // Remove this line
    android.useDeprecatedNdk = true
    
  4. Utwórz i uruchom aplikację, klikając Uruchom uruchom, a następnie uruchom aplikację z menu głównego. Gradle dodaje proces kompilacji CMake lub ndk jako zależność do skompilowania, skompilowania i spakowania biblioteki natywnej z plikiem APK.

Gdy uruchomisz aplikację na urządzeniu fizycznym lub emulatorze, możesz użyć Android Studio, by debugować aplikację. Jeśli nie, przeczytaj stronę o pojęciach, aby dowiedzieć się więcej o pakiecie NDK i jego składnikach.