{"id":21930,"date":"2015-06-29T10:36:43","date_gmt":"2015-06-29T05:06:43","guid":{"rendered":"https:\/\/tothenewco.pro\/blog\/?p=21930"},"modified":"2015-07-09T15:08:05","modified_gmt":"2015-07-09T09:38:05","slug":"android-application-using-ndk","status":"publish","type":"post","link":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/","title":{"rendered":"Building Android Application using NDK"},"content":{"rendered":"<p>The <strong>Native Development Kit (NDK)<\/strong> is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation.<\/p>\n<p>[java]<br \/>\npublic class MyActivity extends Activity {<br \/>\n  \/**<br \/>\n  * Native method implemented in C\/C++<br \/>\n  *\/<br \/>\n  public native void invokeNativeFunction();<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>The use of <a href=\"https:\/\/tothenewco.pro\/mobile-android-application-development-services\">native code in Android apps<\/a> are particularly <a title=\"Mobile App Developers\" href=\"https:\/\/tothenewco.pro\/mobile-ios-application-development-services\">useful to developers who wish<\/a> to do one of the following:<br \/>\n<strong>1.<\/strong> Port their apps between platforms.<br \/>\n<strong>2.<\/strong> Reuse existing libraries, or provide their own libraries for reuse.<br \/>\n<strong>3.<\/strong> Increase performance in certain cases, particularly computationally intensive ones like games.<\/p>\n<p><span class=\"highlight\"><strong>Installing the Android NDK:<\/strong><\/span><br \/>\n<strong>1.<\/strong> Download the ndk package from the link:<br \/>\n<strong><a href=\"http:\/\/developer.android.com\/tools\/sdk\/ndk\/index.html\" target=\"_new\"> http:\/\/developer.android.com\/tools\/sdk\/ndk\/index.html<\/a><\/strong><br \/>\n<strong>2.<\/strong> Open a terminal window.<br \/>\n<strong>3.<\/strong> Go to the directory to which you downloaded the package.<br \/>\n<strong>4.<\/strong> Run <strong>chmod a+x<\/strong> on the downloaded package.<br \/>\n<strong>5.<\/strong> Execute the package. For example:<\/p>\n<p>[java]<br \/>\n\tndk$ chmod a+x android-ndk-r10c-darwin-x86_64.bin<br \/>\n\tndk$ .\/android-ndk-r10c-darwin-x86_64.bin<br \/>\n  [\/java]<\/p>\n<p>The folder containing the NDK extracts itself.<\/p>\n<p><span class=\"highlight\"><strong>Making a Basic NDK App:<\/strong><\/span><br \/>\n<strong>Step 1.<\/strong> In the Android project, Make a folder called <strong>jni<\/strong> in the root of project (right-click the project node, New \u2013 Folder).<br \/>\n<strong>Step 2.<\/strong> Create a file called <strong>Android.mk<\/strong> within jni folder with the following contents:<\/p>\n<p>[java]<br \/>\nLOCAL_PATH:=$(call my-dir)<br \/>\ninclude $(CLEAR_VARS)<br \/>\nHere we give our module name and source file(s)<br \/>\nLOCAL_MODULE := ndk_test<br \/>\nLOCAL_SRC_FILES := ndk_test.c<br \/>\ninclude $(BUILD_SHARED_LIBRARY)<br \/>\n[\/java]<\/p>\n<p>The <strong>Android.mk<\/strong> file is important for the NDK build process to recognize your NDK modules. In our case we named our module ndk_test and told the build tool that it consists of one source file named ndk_test.c.<\/p>\n<p><strong>Step 3.<\/strong> Create file <strong>ndk_test.c<\/strong> in jni folder<\/p>\n<p>[java]<br \/>\n#include &lt;string.h&gt;<br \/>\n#include &lt;jni.h&gt;<\/p>\n<p>jstring Java_com_example_ndktest_NdkTestActivity_invokeNativeFunction(JNIEnv* env, jobject javaThis) {<br \/>\n  return (*env)-&gt;NewStringUTF(env, &quot;Hello from native code!&quot;);<br \/>\n}<br \/>\n  [\/java]<\/p>\n<p><strong>Step 4.<\/strong> In <strong>NdkTestActivity<\/strong> class to use the NDK code:<\/p>\n<p>[java]<br \/>\npublic class NdkTestActivity extends Activity {<\/p>\n<p>  \/\/ load the library &#8211; name matches jni\/Android.mk<br \/>\n  static {<br \/>\n    System.loadLibrary(&quot;ndk_test&quot;);<br \/>\n  }<\/p>\n<p>  \/\/ declare the native code function &#8211; must match ndkfoo.c<br \/>\n  private native String invokeNativeFunction();<\/p>\n<p>  @Override<br \/>\n    public void onCreate(Bundle savedInstanceState) {<br \/>\n        super.onCreate(savedInstanceState);<br \/>\n        setContentView(R.layout.main);<\/p>\n<p>        \/\/ this is where we call the native code<br \/>\n        String hello = invokeNativeFunction();<\/p>\n<p>        new AlertDialog.Builder(this).setMessage(hello).show();<br \/>\n    }<br \/>\n}<br \/>\n  [\/java]<\/p>\n<p>This code will invoke the NDK method that will return the string, that will be displayed as an alert on the screen. Here\u2019s the result of running the ndk_test app<\/p>\n<p>A successful run of ndk-build tool. Create an <strong>.so<\/strong> file in a new folder called libs<br \/>\nThe .so file is the binary library that will be included into the application .apk package and will be available for the Java code of the app to link to.<\/p>\n<p>Hope this was useful to the readers.<\/p>\n<p><strong>Happy NDK\u2019ing.<\/strong> \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in [&hellip;]<\/p>\n","protected":false},"author":167,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":25,"footnotes":""},"categories":[518],"tags":[1928,1927],"class_list":["post-21930","post","type-post","status-publish","format-standard","hentry","category-android","tag-android-ndk","tag-ndk"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Simranjit Kour\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Building Android Application using NDK | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"article:tag\" content=\"android\" \/>\n\t\t<meta property=\"article:tag\" content=\"android ndk\" \/>\n\t\t<meta property=\"article:tag\" content=\"ndk\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2015-06-29T05:06:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2015-07-09T09:38:05+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Building Android Application using NDK | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#article\",\"name\":\"Building Android Application using NDK | TO THE NEW Blog\",\"headline\":\"Building Android Application using NDK\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/simranjit-kaur\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2015-06-29T10:36:43+05:30\",\"dateModified\":\"2015-07-09T15:08:05+05:30\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#webpage\"},\"articleSection\":\"Android, Android NDK, NDK\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/android\\\/#listItem\",\"name\":\"Android\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/android\\\/#listItem\",\"position\":2,\"name\":\"Android\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/android\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#listItem\",\"name\":\"Building Android Application using NDK\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#listItem\",\"position\":3,\"name\":\"Building Android Application using NDK\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/android\\\/#listItem\",\"name\":\"Android\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/simranjit-kaur\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/simranjit-kaur\\\/\",\"name\":\"Simranjit Kour\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#authorImage\",\"url\":\"https:\\\/\\\/newersworld-sf-static.tothenew.net\\\/prod\\\/profilePicFolder\\\/a7102234-00e4-4dfb-8bc6-c51adf76700d_simranjit.kour@tothenew.com.jpg\",\"width\":96,\"height\":96,\"caption\":\"Simranjit Kour\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/\",\"name\":\"Building Android Application using NDK | TO THE NEW Blog\",\"description\":\"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \\\/** * Native method implemented in\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/android-application-using-ndk\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/simranjit-kaur\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/simranjit-kaur\\\/#author\"},\"datePublished\":\"2015-06-29T10:36:43+05:30\",\"dateModified\":\"2015-07-09T15:08:05+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Building Android Application using NDK | TO THE NEW Blog","description":"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in","canonical_url":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#article","name":"Building Android Application using NDK | TO THE NEW Blog","headline":"Building Android Application using NDK","author":{"@id":"https:\/\/tothenewco.pro\/blog\/author\/simranjit-kaur\/#author"},"publisher":{"@id":"https:\/\/tothenewco.pro\/blog\/#organization"},"datePublished":"2015-06-29T10:36:43+05:30","dateModified":"2015-07-09T15:08:05+05:30","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#webpage"},"isPartOf":{"@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#webpage"},"articleSection":"Android, Android NDK, NDK"},{"@type":"BreadcrumbList","@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog#listItem","position":1,"name":"Home","item":"https:\/\/tothenewco.pro\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/category\/android\/#listItem","name":"Android"}},{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/category\/android\/#listItem","position":2,"name":"Android","item":"https:\/\/tothenewco.pro\/blog\/category\/android\/","nextItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#listItem","name":"Building Android Application using NDK"},"previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#listItem","position":3,"name":"Building Android Application using NDK","previousItem":{"@type":"ListItem","@id":"https:\/\/tothenewco.pro\/blog\/category\/android\/#listItem","name":"Android"}}]},{"@type":"Organization","@id":"https:\/\/tothenewco.pro\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/tothenewco.pro\/blog\/"},{"@type":"Person","@id":"https:\/\/tothenewco.pro\/blog\/author\/simranjit-kaur\/#author","url":"https:\/\/tothenewco.pro\/blog\/author\/simranjit-kaur\/","name":"Simranjit Kour","image":{"@type":"ImageObject","@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#authorImage","url":"https:\/\/newersworld-sf-static.tothenew.net\/prod\/profilePicFolder\/a7102234-00e4-4dfb-8bc6-c51adf76700d_simranjit.kour@tothenew.com.jpg","width":96,"height":96,"caption":"Simranjit Kour"}},{"@type":"WebPage","@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#webpage","url":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/","name":"Building Android Application using NDK | TO THE NEW Blog","description":"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/tothenewco.pro\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/#breadcrumblist"},"author":{"@id":"https:\/\/tothenewco.pro\/blog\/author\/simranjit-kaur\/#author"},"creator":{"@id":"https:\/\/tothenewco.pro\/blog\/author\/simranjit-kaur\/#author"},"datePublished":"2015-06-29T10:36:43+05:30","dateModified":"2015-07-09T15:08:05+05:30"},{"@type":"WebSite","@id":"https:\/\/tothenewco.pro\/blog\/#website","url":"https:\/\/tothenewco.pro\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/tothenewco.pro\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"article","og:title":"Building Android Application using NDK | TO THE NEW Blog","og:description":"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in","og:url":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/","og:image":"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","article:tag":["android","android ndk","ndk"],"article:published_time":"2015-06-29T05:06:43+00:00","article:modified_time":"2015-07-09T09:38:05+00:00","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Building Android Application using NDK | TO THE NEW Blog","twitter:description":"The Native Development Kit (NDK) is a toolset enables us to implement parts of our app using native-code languages like C and C++. Typically, good use cases for the NDK are CPU-intensive applications such as signal processing, game engines, and physics simulation. [java] public class MyActivity extends Activity { \/** * Native method implemented in","twitter:image":"https:\/\/tothenewco.pro\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"21930","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"article","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 17:49:02","updated":"2024-02-29 09:29:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewco.pro\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/tothenewco.pro\/blog\/category\/android\/\" title=\"Android\">Android<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tBuilding Android Application using NDK\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/tothenewco.pro\/blog"},{"label":"Android","link":"https:\/\/tothenewco.pro\/blog\/category\/android\/"},{"label":"Building Android Application using NDK","link":"https:\/\/tothenewco.pro\/blog\/android-application-using-ndk\/"}],"_links":{"self":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/posts\/21930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/users\/167"}],"replies":[{"embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/comments?post=21930"}],"version-history":[{"count":0,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/posts\/21930\/revisions"}],"wp:attachment":[{"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/media?parent=21930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/categories?post=21930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tothenewco.pro\/blog\/wp-json\/wp\/v2\/tags?post=21930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}