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ę:
-
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ą.
-
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 kompilacjiAndroid.mk
.
- Możesz pominąć ten krok, jeśli w Twojej istniejącej bibliotece natywnej jest już skrypt kompilacji
-
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 plikbuild.properties
i usuń ten wiersz kodu:// Remove this line android.useDeprecatedNdk = true
- Utwórz i uruchom aplikację, klikając Uruchom . 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.