{"id":4164,"date":"2010-07-02T17:34:29","date_gmt":"2010-07-02T12:04:29","guid":{"rendered":"http:\/\/mobisoftinfotech.com\/?p=4164"},"modified":"2024-10-30T13:08:48","modified_gmt":"2024-10-30T07:38:48","slug":"android-ndk","status":"publish","type":"post","link":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk","title":{"rendered":"Android NDK"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><b>Android NDK<\/b><\/h2>\n\n\n\n<p><span style=\"color: #000000;\">\n<\/span><\/p>\n\n\n\n<p>The Android NDK is a companion tool to the Android SDK that lets Android application developers build performance-critical portions of their apps in native code. The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications<span style=\"font-size: small;\">.<\/span><\/p>\n\n\n\n<p><span style=\"color: #000000;\">Android virtual machine(VM) who can allow your application to source code to call a native code through the JNI(java native interface). This means that our application source code will call shell. And one more thing our application source code declare one more method with the \u201cnative\u201d keyword to indicate that they are implemented through native code.<\/span><br><span style=\"color: #000000;\"><br><\/span><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><b>The NDK provides:<\/b><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A set of tools and build files used to generate native code libraries from C and C++ sources<\/li>\n\n\n\n<li>A way to embed the corresponding native libraries into an application package file (<code>.apk<\/code>) that can be deployed on Android devices<\/li>\n\n\n\n<li>A set of native system headers and libraries that will be supported in all future versions of the Android platform, starting from Android 1.5<\/li>\n\n\n\n<li>Documentation, samples, and tutorials<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><b> The latest release of the NDK supports these ARM instruction sets<\/b><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ARMv5TE<\/li>\n\n\n\n<li>ARMv7-A<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><b>Contents of the NDK<\/b><\/h2>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>Development tools<\/strong><\/h5>\n\n\n\n<p>The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms. It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>libc (C library) headers<\/li>\n\n\n\n<li>libm (math library) headers<\/li>\n\n\n\n<li>JNI interface headers<\/li>\n\n\n\n<li>libz (Zlib compression) headers<\/li>\n\n\n\n<li>liblog (Android logging) header<\/li>\n\n\n\n<li>OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers<\/li>\n\n\n\n<li>libjnigraphics (Pixel buffer access) header (for Android 2.2 and above)<\/li>\n<\/ul>\n\n\n\n<p><!-- \t\t@page { margin: 0.79in } \t\tP { margin-bottom: 0.08in } --> <!-- \t\t@page { margin: 0.79in } \t\tP { margin-bottom: 0.08in } --><\/p>\n\n\n\n<p><em>Using Android NDK to Call Native Code From Android Application<\/em><\/p>\n\n\n\n<p><!-- \t\t@page { margin: 0.79in } \t\tP { margin-bottom: 0.08in } --><!-- \t\t@page { margin: 0.79in } \t\tP { margin-bottom: 0.08in } --><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Android NDK The Android NDK is a companion tool to the Android SDK that lets Android application developers build performance-critical portions of their apps in native code. The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications. Android virtual machine(VM) who can allow your [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"yes","footnotes":""},"categories":[4],"tags":[103,105,104],"class_list":["post-4164","post","type-post","status-publish","format-standard","hentry","category-android","tag-ndk","tag-porting-native-code-to-android-application","tag-using-native-libraries-in-android"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android NDK - Mobisoft Infotech<\/title>\n<meta name=\"description\" content=\"The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android NDK - Mobisoft Infotech\" \/>\n<meta property=\"og:description\" content=\"The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\" \/>\n<meta property=\"og:site_name\" content=\"Mobisoft Infotech\" \/>\n<meta property=\"article:published_time\" content=\"2010-07-02T12:04:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-10-30T07:38:48+00:00\" \/>\n<meta name=\"author\" content=\"Pankaj Zarekar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Pankaj Zarekar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#article\",\"isPartOf\":{\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\"},\"author\":{\"name\":\"Pankaj Zarekar\",\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/#\/schema\/person\/d1059a994d5ad98a25c6d443a9448a2f\"},\"headline\":\"Android NDK\",\"datePublished\":\"2010-07-02T12:04:29+00:00\",\"dateModified\":\"2024-10-30T07:38:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\"},\"wordCount\":293,\"commentCount\":0,\"keywords\":[\"NDK\",\"Porting Native code to android application\",\"Using Native Libraries in Android\"],\"articleSection\":[\"Android\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\",\"url\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\",\"name\":\"Android NDK - Mobisoft Infotech\",\"isPartOf\":{\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/#website\"},\"datePublished\":\"2010-07-02T12:04:29+00:00\",\"dateModified\":\"2024-10-30T07:38:48+00:00\",\"author\":{\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/#\/schema\/person\/d1059a994d5ad98a25c6d443a9448a2f\"},\"description\":\"The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code.\",\"breadcrumb\":{\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mobisoftinfotech.com\/resources\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android NDK\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/#website\",\"url\":\"https:\/\/mobisoftinfotech.com\/resources\/\",\"name\":\"Mobisoft Infotech\",\"description\":\"Discover Mobility\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mobisoftinfotech.com\/resources\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/mobisoftinfotech.com\/resources\/#\/schema\/person\/d1059a994d5ad98a25c6d443a9448a2f\",\"name\":\"Pankaj Zarekar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/8dff020c35ff0ea2f4e4489ad78bfe92543f9efaacadcc90435a0fd648a6d0f9?s=96&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8dff020c35ff0ea2f4e4489ad78bfe92543f9efaacadcc90435a0fd648a6d0f9?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8dff020c35ff0ea2f4e4489ad78bfe92543f9efaacadcc90435a0fd648a6d0f9?s=96&r=g\",\"caption\":\"Pankaj Zarekar\"},\"sameAs\":[\"http:\/\/www.mobisoftinfotech.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android NDK - Mobisoft Infotech","description":"The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk","og_locale":"en_US","og_type":"article","og_title":"Android NDK - Mobisoft Infotech","og_description":"The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code.","og_url":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk","og_site_name":"Mobisoft Infotech","article_published_time":"2010-07-02T12:04:29+00:00","article_modified_time":"2024-10-30T07:38:48+00:00","author":"Pankaj Zarekar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Pankaj Zarekar","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#article","isPartOf":{"@id":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk"},"author":{"name":"Pankaj Zarekar","@id":"https:\/\/mobisoftinfotech.com\/resources\/#\/schema\/person\/d1059a994d5ad98a25c6d443a9448a2f"},"headline":"Android NDK","datePublished":"2010-07-02T12:04:29+00:00","dateModified":"2024-10-30T07:38:48+00:00","mainEntityOfPage":{"@id":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk"},"wordCount":293,"commentCount":0,"keywords":["NDK","Porting Native code to android application","Using Native Libraries in Android"],"articleSection":["Android"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk","url":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk","name":"Android NDK - Mobisoft Infotech","isPartOf":{"@id":"https:\/\/mobisoftinfotech.com\/resources\/#website"},"datePublished":"2010-07-02T12:04:29+00:00","dateModified":"2024-10-30T07:38:48+00:00","author":{"@id":"https:\/\/mobisoftinfotech.com\/resources\/#\/schema\/person\/d1059a994d5ad98a25c6d443a9448a2f"},"description":"The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code.","breadcrumb":{"@id":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mobisoftinfotech.com\/resources\/blog\/android\/android-ndk#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mobisoftinfotech.com\/resources\/"},{"@type":"ListItem","position":2,"name":"Android NDK"}]},{"@type":"WebSite","@id":"https:\/\/mobisoftinfotech.com\/resources\/#website","url":"https:\/\/mobisoftinfotech.com\/resources\/","name":"Mobisoft Infotech","description":"Discover Mobility","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mobisoftinfotech.com\/resources\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/mobisoftinfotech.com\/resources\/#\/schema\/person\/d1059a994d5ad98a25c6d443a9448a2f","name":"Pankaj Zarekar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8dff020c35ff0ea2f4e4489ad78bfe92543f9efaacadcc90435a0fd648a6d0f9?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8dff020c35ff0ea2f4e4489ad78bfe92543f9efaacadcc90435a0fd648a6d0f9?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8dff020c35ff0ea2f4e4489ad78bfe92543f9efaacadcc90435a0fd648a6d0f9?s=96&r=g","caption":"Pankaj Zarekar"},"sameAs":["http:\/\/www.mobisoftinfotech.com"]}]}},"_links":{"self":[{"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/posts\/4164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/comments?post=4164"}],"version-history":[{"count":19,"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/posts\/4164\/revisions"}],"predecessor-version":[{"id":31521,"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/posts\/4164\/revisions\/31521"}],"wp:attachment":[{"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/media?parent=4164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/categories?post=4164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mobisoftinfotech.com\/resources\/wp-json\/wp\/v2\/tags?post=4164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}