Android NDK
Template:Short description Script error: No such module "Distinguish".
Page Module:Infobox/styles.css has no content.
| Android NDK | |
|---|---|
| [[Programmer|DeveloperTemplate:Pluralize from text]] | |
| Initial release | June 2009[1] |
| Written in | C and C++ |
| Engine | Page Template:Plainlist/styles.css has no content.Template:EditAtWikidata |
| Operating system | Page Template:Plainlist/styles.css has no content.
|
| Platform | IA-32 (Windows only) or x86-64 (Windows,[2] macOS and Linux) |
| Available in | English |
| Type | SDK |
| Website | developer |
| Repository | Page Template:Plainlist/styles.css has no content.
|
Script error: No such module "Check for conflicting parameters".
The Android Native Development Kit (NDK) provides a cross-compiling tool for compiling code written in C/C++ can be compiled to ARM, or x86 native code (or their 64-bit variants) for Android.[3][4] The NDK uses the Clang compiler to compile C/C++. GCC was included until NDK r17, but removed in r18 in 2018.
Overview
Native libraries can be called from Java code running under the Android Runtime using System.loadLibrary, part of the standard Android Java classes.[5][6]
Command-line tools can be compiled with the NDK and installed using adb.[7]
Android uses Bionic as its C library, and the LLVM libc++ as its C++ Standard Library. The NDK also includes a variety of other APIs:[8] zlib compression, OpenGL ES or Vulkan graphics, OpenSL ES audio, and various Android-specific APIs for things like logging, access to cameras, or accelerating neural networks.
The NDK includes support for CMake and its own ndk-build (based on GNU Make). Android Studio supports running either of these from Gradle. Other third-party tools allow integrating the NDK into Eclipse[9] and Visual Studio.[10]
For CPU profiling, the NDK also includes simpleperf[11] which is similar to the Linux perf tool, but with better support for Android and specifically for mixed Java/C++ stacks.
References
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content."Android NDK | Android Developers". Developer.android.com. November 13, 2012. Retrieved March 13, 2014.
- ^ Page Module:Citation/CS1/styles.css has no content."NDK Downloads | Android Developers". developer.android.com. Retrieved 2018-04-24.
- ^ Page Module:Citation/CS1/styles.css has no content.Ratabouil, Sylvain (2015). Android NDK beginner's guide : discover the native side of Android and inject the power of C/C++ in your applications (2nd ed.). Birmingham. ISBN 978-1-78398-965-2. OCLC 910639612.
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Page Module:Citation/CS1/styles.css has no content.Kosarevsky, Sergey (2013). Android NDK game development cookbook : over 70 exciting recipes to help you develop mobile games for Android in C++. Viktor Latypov. Birmingham. ISBN 978-1-78216-779-2. OCLC 880639342.
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Page Module:Citation/CS1/styles.css has no content.Srinivas, Davanum (December 9, 2007). "Android — Invoke JNI based methods (Bridging C/C++ and Java)". Archived from the original on December 16, 2008. Retrieved December 13, 2008.
- ^ Page Module:Citation/CS1/styles.css has no content."java.lang.System". Android Developers. Retrieved September 3, 2009.
- ^ Page Module:Citation/CS1/styles.css has no content."Android Debug Bridge (adb)".
- ^ Page Module:Citation/CS1/styles.css has no content."Android NDK Native APIs | Android NDK".
- ^ Page Module:Citation/CS1/styles.css has no content."Using Eclipse for Android C/C++ Development". January 23, 2011.
- ^ Page Module:Citation/CS1/styles.css has no content."Using Visual Studio to Develop Native Android Code – VisualGDB Tutorials". 30 April 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."Simpleperf | Android NDK".