{"id":466,"date":"2013-01-17T16:29:46","date_gmt":"2013-01-17T07:29:46","guid":{"rendered":"http:\/\/litcoder.cafe24.com\/?p=466"},"modified":"2013-01-17T16:29:46","modified_gmt":"2013-01-17T07:29:46","slug":"ndk-build-architecture-%eb%b3%80%ea%b2%bd%ed%95%98%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=466","title":{"rendered":"Android NDK build architecture \ubcc0\uacbd\ud558\uae30"},"content":{"rendered":"<p>\uc544\ubb34 \uc124\uc815 \uc5c6\uc774 ndk\ub97c build \ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 arm\uc6a9 library\uac00 \ub9cc\ub4e4\uc5b4\uc9c4\ub2e4.<\/p>\n<pre class=\"theme:classic lang:default highlight:0 decode:true\">$ &lt;NDK_PATH&gt;\/ndk-build \nGdbserver      : [arm-linux-androideabi-4.6] libs\/armeabi\/gdbserver\nGdbsetup       : libs\/armeabi\/gdb.setup\nCompile thumb  : hello-jni &lt;= hello-jni.c\nSharedLibrary  : libhello-jni.so\nInstall        : libhello-jni.so =&gt; libs\/armeabi\/libhello-jni.so<\/pre>\n<pre class=\"theme:classic lang:default highlight:0 decode:true\">$ file obj\/local\/armeabi\/libhello-jni.so \nobj\/local\/armeabi\/libhello-jni.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped<\/pre>\n<p>NDK\uc5d0\uc11c build\ub418\ub294 binary\uc758 architecture\ub97c \ubcc0\uacbd\ud558\ub824\uba74 APP_ABI\ub97c \uc120\uc5b8\ud574 \uc8fc\uc5b4\uc57c \ud558\ub294\ub370, Android.mk\uc5d0 \ucd94\uac00\ud574\uc11c\ub294 \uc81c\ub300\ub85c \ub3d9\uc791\ud558\uc9c0 \uc54a\ub294\ub2e4. JNI directory \uc544\ub798\uc5d0 Application.mk file\uc744 \ub9cc\ub4e4\uace0 \u00a0APP_ABI\uac12\uc5d0 build\ud560 architecture\ub97c \uc124\uc815\ud574 \uc900\ub2e4. \ub2e4\uc74c\uc740\u00a0x86 \ubc14\uc774\ub108\ub9ac\ub97c \uc0dd\uc131\ud558\ub294 \uc608\uc81c\uc774\ub2e4.<\/p>\n<pre class=\"theme:classic lang:default highlight:0 decode:true\">$ cat jni\/Application.mk \nAPP_ABI := x86<\/pre>\n<pre class=\"theme:classic lang:default highlight:0 decode:true\">$ &lt;NDK_PATH&gt;\/ndk-build \nGdbserver      : [x86-4.6] libs\/x86\/gdbserver\nGdbsetup       : libs\/x86\/gdb.setup\nCompile x86    : hello-jni &lt;= hello-jni.c\nSharedLibrary  : libhello-jni.so\nInstall        : libhello-jni.so =&gt; libs\/x86\/libhello-jni.so<\/pre>\n<pre class=\"theme:classic lang:default highlight:0 decode:true\">$ file obj\/local\/x86\/libhello-jni.so \nobj\/local\/x86\/libhello-jni.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped<\/pre>\n<p>*\u00a0Build\uc5d0 \uc0ac\uc6a9\ub418\ub294 toolchain\uc740 &lt;NDK_PATH&gt;\/toolchains\/&lt;architecture&gt;-&lt;version&gt;\uc758 \ud615\ud0dc\ub85c \uc704\uce58\ud55c\ub2e4.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc544\ubb34 \uc124\uc815 \uc5c6\uc774 ndk\ub97c build \ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 arm\uc6a9 library\uac00 \ub9cc\ub4e4\uc5b4\uc9c4\ub2e4. $ &lt;NDK_PATH&gt;\/ndk-build Gdbserver : [arm-linux-androideabi-4.6] libs\/armeabi\/gdbserver Gdbsetup : libs\/armeabi\/gdb.setup Compile thumb : hello-jni &lt;= hello-jni.c SharedLibrary : libhello-jni.so Install : libhello-jni.so =&gt; libs\/armeabi\/libhello-jni.so $ file obj\/local\/armeabi\/libhello-jni.so obj\/local\/armeabi\/libhello-jni.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped NDK\uc5d0\uc11c build\ub418\ub294 binary\uc758 architecture\ub97c [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2],"tags":[11,88,125,159],"class_list":["post-466","post","type-post","status-publish","format-standard","hentry","category-android","tag-android","tag-ndk","tag-tip","tag-x86"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/466","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=466"}],"version-history":[{"count":0,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/466\/revisions"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}