بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ساخت پروژه native اندروید و ساخت فایل c و توابع داخلش و اجرای آن (NDK)

مدیریت گفتگو
Ali 11 سال پیش
آخرین تغییر: 9 سال پیش

سلام

دیروز با کلی زحمت تونستم NDK رو به اکلیپس اضافه کنم و چند تا از سمپل‌های  خودش رو اجرا کنم اما حالا میخواهم خودم یه پروژه ساده درست کنم.
لطفا دوستانی که native کار کردن یه توضیحی درباره ساختار فایل Android.mk و Application.mk و برقراری ارتباط بین توابع فایل c و کلاس جاوا و در نهایت کامپایل پروژه بدن.

راستی اگه در آینده اساتید یه تاپیک در این باره بزنند و یه آموزش جامع دربارش بدن فکر کنم خیلی مفید باشه.

تشکر

نظرات

Ali 11 سال پیش
up
Ali 11 سال پیش
up
احمد اسدی 11 سال پیش
ها دقیقآ این مشکل ما هم بید. ولی من توی اندروید Studi استفاده میکنم.
Ali 11 سال پیش
چه تفاهمی منم همین الان توی تاپیک شما این موضوع رو مطرح کردم.
Ali 11 سال پیش
یعنی هیچ کسی توی انجمن نیست که قبلا native کار کرده باشه؟ یه توضیح مختصر هم بدید خیلی ممنون میشم.
Spirit 11 سال پیش
چرا من چند وقت پیش با Eclipse و Cygwin یه تستی کردم، ولی الان هیچی یادم نیست، فکر کنم با این لینکا کارکردم لینک http://code.tutsplus.com/tutorials/advanced-android-getting-started-with-the-ndk--mobile-2152
پاتریک 9 سال پیش
من با ویژوال استودیو 2016 با سی شارپ برنامه نوشتم اول زامارین رو نصب کردم بعد اخرین sdk اندروید بعد هم ndk تا تونستم باهاش کار کنم ولی هیچ وقت به دردم نخورد

پاسخ‌ها 3

احمد اسدی 11 سال پیش

این دوتا فیلم رو داشتم

البته واسه Android Stuido هستش:

http://fs2.filegir.com/pggco/Using_the_NDK_with_Android__Studio_%5BokLKfxfbz40%5D_%5Btag22%5D.mp4

http://fs2.filegir.com/pggco/NDK_integration_with_android_studio_V1.0.2__part_1_%5BPKFL7OlV6VA%5D_%5Btag22%5D.mp4

 

امیدوارم که مشکلت حل بشه :)

نظرات

parand 9 سال پیش
متاسفانه من یک سال دیر رسیدم و به فیلم هایی آموزش شما دسترسی ندارم میشه لطف کنید باز آپلودشون کنید
Ali 11 سال پیش

طبق ویدیو دومی که داده بودید تمامی مراحل رو پیش رفتم اما در مرحله آخر وقتی توی ترمینال Android Stuido
ndk-build\مسیرNDK رو وارد میکنم ارور زیر رو میده:

 make.exe: *** No rule to make target `OCAL_PATH(call', needed by `obj/local/arm64-v8a/objs/ndkLib/main.o'.  Stop.

شما به این مشکل بر نخوردید؟

نظرات

احمد اسدی 11 سال پیش

بعد از کلی بررسی و متوصل شدن به کدهای چینی، یه چیزهایی متوجه شدم که باید این کار رو انجام بدید:

البته من در اندروید استادیو کار کردم و مطمئنم که در اِکلیپس خیلی راحتر هستش (چون NDK فعلآ با اندروید استادیو اِستـِـیبل نشده)

 

خب بنام ایزد:

1- واسه سـَـمپِل به دوتا فایل نیاز داری: یکی فایل Android.mk و دومی هم یه فایلی که با C یا Cپلاس پلاس نوشته شده باشه؛ که عملآ بهش میگن فایل های Native.

2- فایل Android.mk رو میتونی واسه نمونه از داخل فولدر NDK که دانلود کردی رو نگاه کنی و ببینی که دقیقآ چطور نوشته شده؛ اگه بخواهییم یه توضیح خلاصه ازش داشته باشیم: کار فایل Android.mk اینه که میاد به NDK میگه دقیقآ چه فایلهایی (با ثبت میسر فایل در Android.mk) قراره کامپایل بشه.

به عنوان مثال فایل Android.mk به شکل زیر هستش:

 LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni //نام ماژولی که قراره در اندروید ازش استفاده کنیم
LOCAL_SRC_FILES := hello-jni.c // مسیر فایلی که با زبان سی نوشتیم

include $(BUILD_SHARED_LIBRARY)

خب الان همه چی آمادس و فقط کافیه این دو تا فایل رو داخل یک فولدر به نام libs قرار بدیم و این فولدر libs رو به زیر شاخه ی main در پروژمون اضافش کنیم.

و اما میرسیم به سر آخرین مبحث، که باید این فایل ها رو از طریق NDK ، کامپایل کنید.

واسه کامپایل کردن از طریق Terminal:

توی ترمیان خیلی راحت دستور زیر رو اجرا میکنین و بصورت خودکار تمام فایلهای Native ایی که در پروژه ی فعلی تون وجود داره رو کامپایل میکنه.

 F:\android\ndk\ndk-build

توجه توجه: دستور بالا یه نمونس و باید با مسیر اصلی که NDK رو ریحتین جایگزین کنیم

وسلام و علیکم و رحمت الله و برکــــــــــــاته

 

نظرات

Ali 11 سال پیش
فکر کنم اشتباهی به جای فولدر jni نوشتید libs.
Ali 11 سال پیش
خیلی ممون، راستی این طور که میگن اندروید استدیو توی ورژن جدیدش با NDK ادغام شده.
Ali 11 سال پیش
در واقع ادغام خواهد شد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .