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

نشناختن فیلدهایی که از نوع Native یا محلی هستن (حل شد)

مدیریت گفتگو
MeY3am 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام دوستان؛

مشغول ادیت کردن سورس یکی از مسنجرهای پرطرفدار هستم، همه چی خوب پیش میرفت تا اینکه در یکی از کلاس ها به تعدادی فیلدهای native برخوردم و همین فیلدها باعث کرش در برنامه شده، آخرین ورژن NDK رو هم نصب کردم در اندروید استودیو NDK Location هم مسیر دادم و فایل هایی رو که با زبان ++C هم نوشته شدن رو در پوشه jni قرار دادم، تقریبا تمامی روش های استک رو هم پیاده سازی کردم ولی همچنان نام فیلدها در اندروید استودیو به رنگ قرمز دراومدن و cannot resolve هستن.

یکی از این فیلدها این هستش :

 public static native void native_setJava(boolean useJavaByteBuffers);

که native_setJava به رنگ قرمز دراومده و همین باعث کرش در برنامه شده !

 

با mat هم بررسی کردم خطا مربوط به همین کلاسی هستش که این فیلدهای native درونش قرار دارن، از دوستانی که Native و NDK کار کردن ممنون میشم راهنمایی بفرمایید، بسیار ضروری هستش، ممنون !

نظرات

hamcalas 10 سال پیش
هفته پیش سعی کردم سورس تلگرام را import کنم ٬ از اندروید اسندویو 2 استفاده کردم و ظاهرا پروژه بدون خطا import شد ٬ اما موقع اجرا خطای کدهای c++را داد ٬ من از این روش هم استفاده کردم ولی موفق نشدم لینک اگر لینوکس دارید و یا می توانید با مجازی ساز weam wear نصب کنید با لینوکس امتحان کنید .چون در کامپایل کدهای c در ویندوز به بعضی کتابخانه ها ایراد می گیرد .
MeY3am 10 سال پیش
نه نیازی به لینوکس نیست یه برنامه هست به نام Cygwin که اونم همینکار لینوکس رو انجام میده ولی نمیدونم چی باید بنویسم که ndk با jni سینک و کامپایل بشه :|
Hossein Lamei Ramandi 10 سال پیش
جناب اگه ممکنه اون دستور رو اگه پیدا کردید قرار بدید :)
MeY3am 10 سال پیش
آخ آخ یادش بخیر چه روزگاری داشتم با این پروژه، ببین تا اونجایی که یادمه با همون برنامه Cygwin آدرس پوشه ndk بود فکرکنم بهش دادم بعدش یه سری پروسه انجام داد و سه تا پوشه برام ساخت که یکیش همون jni بودش، محیطش شبیه Dos هست !
Hossein Lamei Ramandi 10 سال پیش
والا منم یه سری دستور از نت پیدا کردم زدم و نوشت به GNUMAKE احتیاج داره دوباره نصب کنید و یادم نمیاد دقیقا ولی فک کنم نوشت توی پکیجایی که انتخاب میکنید موقع نصب اینم GNUMAKE تیک بزنید یه همچین چیزی بود ولی خواستم دوباره نصب کنم اونو (GNUMAKE ) رو پیدا نکردم اگه کمک کنید ممنون میشم :)
MeY3am 10 سال پیش
نه نیازی به این نیست، پروژه مربوطه رو برات چک میکنم اگه چیزی دستگیرم شد میام همینجا بهت میگم !
Hossein Lamei Ramandi 10 سال پیش
خیلی ممنون فقط یه سوالی برم پیش اومده یعنی نمیشد این لایبرری های نیتیو رو بصورت کامپایل شده داخل سورس میزاشتند از اول انقدر من رو هم آزار نمیداند ؟
silent scream 10 سال پیش
کامپایل شده نه! زبان سی و بسته به سی پی یو گوشی کامپایل میشن. این جوری باید واسه هر سی پی یو کامپایل شده ش و جدا میذاشتن

هنوز پاسخی ثبت نشده است


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