آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

Ali  11 سال پیش  9 سال پیش
0 0

سلام

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

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

تشکر

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

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

البته واسه 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

 

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

+1 0
متاسفانه من یک سال دیر رسیدم و به فیلم هایی آموزش شما دسترسی ندارم میشه لطف کنید باز آپلودشون کنید (9 سال پیش)
پاسخ به سوال 
Ali  11 سال پیش
+1 0

طبق ویدیو دومی که داده بودید تمامی مراحل رو پیش رفتم اما در مرحله آخر وقتی توی ترمینال 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 سال پیش
+1 0

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

البته من در اندروید استادیو کار کردم و مطمئنم که در اِکلیپس خیلی راحتر هستش (چون 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 رو ریحتین جایگزین کنیم

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

 

+1 0
فکر کنم اشتباهی به جای فولدر jni نوشتید libs. (11 سال پیش)
+1 0
اٌه ببخشید. حق با شماست :) (11 سال پیش)
0 0
خیلی ممون، راستی این طور که میگن اندروید استدیو توی ورژن جدیدش با NDK ادغام شده. (11 سال پیش)
0 0
در واقع ادغام خواهد شد. (11 سال پیش)
0 0
بله درست شنیدین :) (11 سال پیش)

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