انجمن گروه موج سازان

نسخه‌ی کامل: برنامه نویسی با Android NDK
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
برنامه نویسی با Android NDK

NDK شامل ابزاری است که کد های c/c++ را در لینوکس یا ویندوز برای پردازنده های ARM کامپایل می کند.
برای استفاده از NDK در محیط ویندوز به Cygwin نیاز داریم. Cygwin حجمی نزدیک دو برابر سیستم عامل ابونتو 11 (بیشتر از 1GB) دارد و ابزار های لینوکس را در ویندوز شبیه سازی می کند.
بنابرین استفاده از NDK در محیط لینوکسی مثل ابونتو منطقی تر به نظر می رسد. قبلا نرم افزار C4droid را معرفی کردیم و گفتیم که کدهای زبان c/c++ را درون سیستم عامل اندروید کامپایل می کند.
NDK همانند c4droid کد های c/c++ را برای اندروید کامپایل می کند و استفاده از آن به دلایل زیر بهتر است:
NDK شامل ابزار های مفیدی مانند دیباگر است.
NDK کد ها در کامپیوتر دسکتاپ کامپایل می کند و می تواند همراه با SDK استفاده شود.

ایجاد بستر لازم برای نوشتن اولین برنامه با NDK[یک فایل باینری ساده]
گوشی شما باید روت شده باشد.
این آموزش برای ubuntu 11 است.
ابتدا NDK را دانلود کنید.
محتویات NDK را در هارد کامپیوتر خود کپی کنید.
نوع معماری سیستم مقصد یکی از موارد زیر خواهد بود:

کد:

* arm-linux-androideabi-4.4.3 => targetting ARM-based Android devices * x86-4.4.3 => targetting x86-based Android devices

فرض کنید می خواهیم برای فرویو (2.2) کامپایل کنیم.
terminal را باز می کنیم و متغیر محیطی SYSROOT را مانند زیر مقداردهی می کنیم:

کد:

export NDK=[your ndk root directory]
export SYSROOT=$NDK/platforms/android-8/arch-arm


کامپایلر مورد نیازمان را در متغیر محیطی CC قرار می دهیم:

کد:

export CC="$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc --sysroot=$SYSROOT"

برای کامپایل کردن برنامه از دستور زیر استفاده کنید:

کد:

CC -o NDKDemo NDKDemo.c

اگر برنامه بالا بدون اشتباه باشد در دایرکتوری جاری یک باینری به نام NDKDemo ایجاد می شود.

فایل را به گوشی انقال دهید و آن را اجرا کنید:


کد:

adb kill-server
adb start-server
adb root
adb push NDKDemo /sdcard
adb shell
cd /sdcard
chmod +x NDKDemo
./NDKDemo
Hello NDK world!

منبع