با سلام..
من یه سوال دارم در مورد ساختار اجرای برنامه ها در سیستم عامل اندروید.
و سوال من اینه که ساختار و نحوه اجرای اپلیکیشن ها در سیستم عامل اندروید به چه صورت هستش...
خب همه ما میدونیم اولین زبان برنامه نویسی اندروید زبان برنامه نویسی جاوا میباشد و برنامه های نوشته شده با جاوا برای اندروید به کد قابل فهم dex. برای ماشین های مجازی dalvik و یا ART تبدیل گشته و این ماشین های مجازی این کد رو به زبان ماشین برای سیستم عامل اندروید تبدیل میکنند.. همانند ساختار bytecode و ماشین مجازی JVM..
خب تا اینجای کار که ما با زبان جاوا و کیت توسعه اندروید SDK سر و کار داشتیم مشکلی در ساختار اجرای اپلیکیشن ها نبود...
اما زمانی که ما میخواهیم از زبان c/++c و NDK استفاده کنیم و به اصطلاح برنامه native بسازیم آیا باز هم خروجی که ما از طریق کد نویسی به زبان c/++c میگیریم تبدیل به کد های جاوا گشته و یک فایل اجرایی dex. میباشد برای اجرا در ماشین های مجازی Dalvik و یا ART و یا مستقل از ماشین مجازی Dalvik و یا ART اجرا گشته؟؟؟؟ چون ما میدونیم که برای ماشین مجازی Dalvik و یا ART فقط کد های جاوا قابل فهم میباشد...
به طور کلی منظور سوالم اینه که آیا برنامه هایی که با زبان c/++c و تحت NDK نوشته میشوند هم در نهایت تبدیل به کد جاوا شده و در ماشین مجازی اندروید (Dalvik و یا ART) اجرا شده و یا مستقیم و بی نیاز از ماشین مجازی اندروید اجرا میشوند...
و اگر در پاسخ بالا اینگونه باشد که برنامه ها در نهایت به کد جاوا تبدیل شده و تحت ماشین مجازی اجرا شده پس دلیل اینکه به زبان جاوا در اندروید native گفته نمیشود ولی به زبان های c/++c زبان های native در اندروید گفته میشود چیست؟؟؟
خیلی خیلی ممنون میشم اگه کسی این موارد رو میدونه به طور دقیق بیان کنه...
با سپاس.