ndk에 대 한 일반적인 좋은 후보는 신호 처리, 물리 시뮬레이션 등의 많은 메모리를 할당 하지 않는 독립적인 CPU 집약적인 작업입니다. 네이티브 코드에서 개발 해야 하는지 여부를 조사할 때는 요구 사항을 고려 하 고 Android 프레임 워크 api가 필요한 기능을 제공 하는지 확인 합니다. 이 릴리스의 주요 기능은 새로운 gnu 컴파일러 컬렉션 (GCC) 4.6 툴체인 및 gnu 디버거 (GDB)를 7.3. x는 안 드 로이드 4.1 (API 레벨 16) 시스템 이미지에 대 한 디버깅 지원을 추가 합니다. 중요: 위에 나열 된 라이브러리를 제외 하 고 Android 플랫폼의 기본 시스템 라이브러리는 안정적이 지 않으며 향후 플랫폼 버전에서 변경 될 수 있습니다. 응용 프로그램은이 ndk에서 제공 하는 안정적인 네이티브 시스템 라이브러리만 사용 해야 합니다. ARMv5TE 기계 코드는 모든 ARM 기반 안 드 로이드 장치에서 실행 됩니다. ARMv7는 버라이존 Droid 또는 호환 CPU를가지고 구글 넥서스 하나 같은 장치 에서만 실행 됩니다. 두 명령어 집합의 주요 차이점은 ARMv7 하드웨어 FPU, 썸-2 및 네온 지침을 지원 한다는 것입니다. 명령 집합 중 하나 또는 둘 다를 대상으로 지정할 수 있습니다 (ARMv5TE는 기본값 이지만 ARMv7로 전환 하는 것은 파일의 다른 항목을 변경할 필요 없이 응용 프로그램의 Application.mk 파일에 한 줄을 추가 하는 만큼 쉽습니다. 또한 두 아키텍처에 동시에 빌드할 수 있으며 모든 것을 최종 .apk에 저장 합니다. 전체 정보는 CPU-아치-abis에 제공 됩니다. HTML을 ndk 패키지에 있습니다.

ndk를 다운로드 하기 전에, 당신은 ndk는 대부분의 애플 리 케이 션에 도움이 되지 않습니다 이해 해야 합니다. 개발자는 단점에 대 한 이점을 균형 있게 조정 해야 합니다. 특히 Android에서 네이티브 코드를 사용 하면 성능이 현저 하 게 향상 되지는 않지만 항상 앱 복잡도가 높아집니다. 일반적으로 응용 프로그램에 필수적인 경우에만 ndk를 사용 해야 합니다 — 단순히 c/c + +로 프로그래밍 하는 것을 선호 하기 때문입니다. 안 드 로이드 스튜디오 2.2 이상을 사용 하 여, 당신은 네이티브 라이브러리에 c와 c + + 코드를 컴파일하고, IDE의 통합 빌드 시스템을 사용 하 여 APK에 패키지로 ndk를 사용할 수 있습니다. 그런 다음 java 코드는 jni (자바 네이티브 인터페이스) 프레임 워크를 통해 네이티브 라이브러리의 함수를 호출할 수 있습니다. gradle 및 Android 빌드 시스템에 대 한 자세한 내용은 빌드 구성을 참조 하십시오. 네이티브 코드에서 주기 콜백을 구현할 수 있는 네이티브 활동을 작성 합니다. Android SDK는 모든 활동 라이프 사이클 콜백 (oncreate (), onpause (), onresume () 등)의 네이티브 코드에 알리는 편리한 클래스인 nativeactivity 클래스를 제공 합니다.

네이티브 코드에서 콜백을 구현 하 여 이러한 이벤트가 발생할 때이를 처리할 수 있습니다.