نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

برنامه های بومی اولین قدم ها

ترجمه شده از انگلیسی، بومی به معنای "بومی" است. یک برنامه بومی برای تلفن های همراه برای یک سیستم عامل خاص توسعه یافته است. این کار توسط متخصصانی انجام می شود که دانش و مهارت خاصی در این زمینه دارند. برنامه های بومی طراحی خوبی دارند، آنها آزادانه با سیستم عامل موبایل تعامل دارند و می توانند از طریق اتصال به اینترنت یا آفلاین کار کنند.

این چیه؟

یک برنامه بومی توسعه ای است که برای پلتفرم یک دستگاه در دسترس است. به عنوان مثال، اپلیکیشن های موبایلی وجود دارند که به طور خاص برای آن ها طراحی شده اند پلتفرم های اندرویدیا آیفون با توسعه فناوری های مدرن، ظهور برنامه های کاربردی مختلف(بومی، ترکیبی، وب) اکنون گزینه هایی برای انتخاب وجود دارد. برنامه های بومی از طریق بارگیری می شوند فروشگاه های تخصصی (اپ استور, گوگل پلی) و روی گوشی هوشمند نصب می شوند.

ویژگی این است که آنها برای یک پلت فرم خاص و با استفاده از زبان های برنامه نویسی "بومی" هنگام نوشتن آنها توسعه یافته اند. اگر برنامه ای برای یک سیستم عامل خاص ایجاد شود، به خوبی کار می کند و ارگانیک به نظر می رسد. علاوه بر این، برنامه به راحتی از عملکردهای نرم افزار گوشی هوشمند مانند دوربین، میکروفون، پخش کننده استفاده می کند و منابع دستگاه را ذخیره می کند.

یکی از معروف ترین نمونه های اپلیکیشن های بومی Shazam است. تشخیص می دهد که چه آهنگی در دستگاه دیگری پخش می شود. Shazam از فروشگاه نصب شده است، نیاز به دسترسی به اینترنت دارد و برای کار کردن به ضبط کننده صدای گوشی هوشمند نیاز دارد. اینستاگرام یک برنامه بومی محبوب است که برای کار کردن به اتصال اینترنت نیاز دارد.

هدف

اپلیکیشن موبایل در دنیای مدرنیک کانال ارتباطی بین افراد و شرکت ها است. آنها در تجارت ضروری هستند. از طریق آنها می توانید یک خدمات یا محصول را بفروشید، با مشتریان ارتباط برقرار کنید و یک ساختار تجاری با شرکا ایجاد کنید. برنامه های کاربردی تلفن به بهینه سازی ارتباطات داخلی در یک شرکت کمک می کند. امروز، از طریق برنامه های تلفن همراه می توانید روزنامه ها را بخوانید، پیدا کنید آخرین اخبار، تماشای برنامه های تلویزیونی، فیلم. و همه اینها بدون توجه به زمان روز و مکان. اپلیکیشن ها راه هایی برای تبلیغ محصولات و ارائه خدمات هستند. این یک ابزار بازاریابی عالی است. علاوه بر این، از طریق برنامه های تلفن همراه می توانید از شبکه های اجتماعی بازدید کنید، با دوستان خود ارتباط برقرار کنید و تجارت کنید. ویژگی این است که توسعه دهندگان می توانند یک برنامه سفارشی برای یک تلفن هوشمند، به طور خاص برای یک پروژه خاص، بسازند.

توسعه برنامه های کاربردی بومی برای کسب و کار از سه مرحله اصلی می گذرد. اولین مورد، تطبیق یک وب سایت موجود برای تلفن هوشمند (ایجاد یک برنامه وب) است. مرحله دوم ایجاد برنامه های ترکیبی است که فناوری های وب و عملکرد دستگاه های تلفن همراه را ترکیب می کند. مرحله سوم نوشتن یک برنامه بومی برای تلفن همراه. این منبع فشرده ترین است، اما به شما اجازه می دهد تا به قابلیت های سیستم عامل دستگاه پی ببرید و به دلیل عملکرد گسترده تلفن هوشمند، به نتایج مورد نظر دست یابید. محبوبیت برنامه های بومی به عملکرد بالا، اشکال زدایی، پایداری و توانایی کار بدون اینترنت بستگی دارد. آپلود بعدی در فروشگاه برنامه به توسعه دهنده اجازه می دهد تا آمار فروش را ردیابی کند. در صورت نیاز به پردازش از برنامه های بومی استفاده کنید مقدار زیادیداده و سرعت بالا

انواع

انواع اپلیکیشن های موبایل: بومی، وب و ترکیبی شباهت هایی دارند. نسخه های بومی به طور خاص برای سیستم عامل هایی مانند iOS نوشته شده اند. اندروید، تلفن وین. آنها از طریق فروشگاه های برنامه دانلود می شوند و با الزامات آنها مطابقت دارند. برنامه های بومی به لطف بهینه سازی برای سیستم عامل های خاص، سریع و روان کار می کنند. آنها به عملکردهای دستگاه دسترسی دارند. این برنامه ها می توانند از طریق اینترنت یا مستقل کار کنند.

برنامه های وب دارند ویژگی های مشترکبا نسخه های موبایلسایت‌ها، اما تعامل آنها را گسترش داده‌اند. آنها به گونه ای ایجاد شده اند که بتوانید از طریق تلفن هوشمند از سایت استفاده کنید. تفاوت اصلی آن: برنامه نیازی به نصب ندارد. تمام کارها از طریق مرورگر انجام می شود. تفاوت بین برنامه بومی و وب در توانایی مدیریت آزادانه اطلاعات است.

ترکیبی عملکردهای دو قبلی را ترکیب می کند. این نرم افزار با نرم افزار گوشی های هوشمند کار می کند زیرا چند پلتفرمی است. دانلود شده از فروشگاه برنامه، از طریق اینترنت کار می کند. اپلیکیشن هیبریدی بیشترین محبوبیت را در بین کاربران دارد. در صورت نیاز از Native استفاده می شود سرعت بالاپردازش اطلاعات (شبکه های اجتماعی، بازی ها یا موقعیت جغرافیایی). به یاد داشته باشید که برنامه های بومی اندروید برای آیفون یا گوشی های هوشمند با پلتفرم دیگر مناسب نیستند.

مزایای

یک برنامه بومی چندین مزیت دارد. عملکرد بالا، تعامل با یک سیستم عامل خاص، مصرف کم انرژی، حافظه گوشی، سهولت استفاده. از مزایای این اپلیکیشن می توان به حداکثر کارایی و سرعت عالی، دسترسی به نرم افزارگوشی هوشمند، در برخی موارد برای استفاده نیازی به اتصال به اینترنت نیست. شما می توانید برنامه را فقط از طریق یک فروشگاه ویژه دانلود و نصب کنید.

ایرادات

یک برنامه بومی دارای معایبی است. توسعه آن زمان زیادی می برد و هزینه چنین برنامه ای بالاتر است. توسعه دهنده باید دانش یک محیط برنامه نویسی خاص را داشته باشد. علاوه بر این، بومی با یک سیستم عامل واحد کار می کند. اگر نیاز به تغییر چیزی در برنامه دارید، باید یک به‌روزرسانی منتشر کنید.

روش نصب؟

یک برنامه موبایل بومی با در نظر گرفتن سیستم عامل گوشی هوشمند نصب می شود. برای انتخاب درخواست مورد نیاز، به هر فروشگاهی مانند Google Play بروید و مورد مناسب را انتخاب کنید. آن را دانلود و نصب کنید. به طور کلی، برنامه تا زمانی که اتصال به اینترنت وجود دارد کار می کند. اگر نصب انجام نشد، ظرفیت حافظه گوشی هوشمند خود را بررسی کنید. باید برای نصب کافی باشد.

کد بومی

"برنامه بومی" به چه معناست؟ برای بسیاری، این عبارت جدید به نظر می رسد، اما در واقع، تقریبا همه چیز کاربران مدرنگجت ها هر روز با آن مواجه می شوند. برای عملکرد صحیحتوسعه دهندگان در مورد برنامه بومی می نویسند کد ویژه. این سیستم فرمان زبان ماشین، که توسط گوشی هوشمند تفسیر خواهد شد. دستورالعمل های موجود در برنامه به کاربر این امکان را می دهد که توانایی های خود را در آن درک کند قدرت کامل. دستورات ارائه شده توسط توسعه دهنده می تواند از طول ها و دامنه های مختلف باشد. برنامه های بومی به دلیل کد متراکم اما کوچکشان سریع هستند.

این اپلیکیشن ها جاوا هستند. به توسعه دهندگان می دهد فرصت های بزرگ. تطبیق پذیری و راحتی آن به شما این امکان را می دهد که در کمترین زمان ممکن برنامه های کاربردی شرکتی ساده ایجاد کنید. خوبی در مورد توسعه جاوا این است که ابزارهای آن در تمام سیستم عامل های رایانه شخصی از جمله لینوکس و مک او اس موجود است. اگر می خواهید برنامه های کاربردی را با استفاده از زبان جاوا، به یک کامپیوتر در حال اجرا نیاز دارید در حال اجرا MacOS X. بومی برنامه iOSمتفاوت است کمیت اندرویدزمان صرف شده برای توسعه

قیمت

یک طراح رایگان برای برنامه های موبایل بومی به کاربران کمک می کند تا خودشان آن را ایجاد کنند. تعداد زیادی طراح در اینترنت وجود دارد. محبوب ترین و شناخته شده ترین آنها My-apps، Net2Share، BuildApp، MobiumApps، Appsa4u هستند. به عنوان مثال، سازنده My-apps به طور مستقل یک برنامه را برای سیستم عامل های iOS و Android مونتاژ می کند. کاربران می توانند بسته به هدف برنامه از بین ده قالب آماده انتخاب کنند. نتیجه نهایی برای دانلود در فروشگاه منتشر می شود.

توسعه کامل یک برنامه بومی ارزان نیست. قبل از برنامه ریزی، در مورد بودجه خود تصمیم بگیرید. این باید شامل بودجه برای ترویج محصول نهایی و خود توسعه باشد. اگر برنامه ای برای چندین سیستم عامل آماده شود، هزینه آن دو برابر می شود. این در مورد استدر مورد توسعه برای اشخاص حقوقیمثلاً شرکت های بازرگانی. هزینه برنامه های ترکیبی 30 درصد بیشتر از برنامه های بومی است، در حالی که برنامه های وب قیمت پایینبه دلیل یک پایه کد واحد، بنابراین توسعه آنها نسبت به نمونه های بومی سود بیشتری دارد.

ایجاد برنامه های بومی همیشه هدر دادن پول زیادی است و هیچ پروژه استانداردی وجود ندارد؛ برنامه ها به صورت جداگانه برای هر مشتری توسعه می یابند. قیمت شامل طراحی، تعداد سیستم عامل، استفاده از فناوری برای نوشتن کد، پیچیدگی کار، آزمایش، انتشار و سایر نکات ظریف است. یک برنامه پیچیده می تواند چندین میلیون روبل هزینه داشته باشد. و این فقط توسعه است. انتشار، آزمایش و سایر خدمات به بودجه اضافی نیاز دارد. به همین دلیل است که برنامه ها توسط شرکت های تجاری بزرگ سفارش داده می شوند که آماده پرداخت چنین مزیتی هستند. اپلیکیشن ها در آینده درآمد خوبی به همراه دارند و به مرور زمان هزینه های خود را پرداخت می کنند. انجام تجارت، گسترش، افزایش تقاضا برای محصولات، ایجاد تصویر مثبت از مزایای اپلیکیشن های موبایل است.

کارایی

نحوه عملکرد برنامه به عملکرد گوشی هوشمند بستگی دارد. بومی‌ها به پلتفرم و ویژگی‌های تلفن دسترسی مستقیم دارند که بر بهره‌وری آنها تأثیر مثبت می‌گذارد. برنامه های ترکیبی، اگر به درستی انجام شوند، می توانند وب را به برنامه های بومی تبدیل کنند. عملکرد برنامه های تحت وب به سرعت اتصال اینترنت بستگی دارد، بنابراین ممکن است برای کاربران مختلف متفاوت عمل کند.

در حال گسترش

پس از توسعه، یک برنامه بومی ویندوز، اندروید، iOS باید به دست کاربران برسد. توزیع از طریق فروشگاه های برنامه بهترین گزینه است. وجود داشته باشد نیازمندی های ویژهبه محصول نهایی، که توسعه دهنده باید از قبل به آن پایبند باشد. آنها وابسته هستند سیاست داخلی، قواعد محلیفروشگاه. در صورت موفقیت آمیز بودن برنامه، کاربران آن را دانلود می کنند و صاحب آن سود و امتیاز بیشتری دریافت می کند. به یاد داشته باشید که افزودن هر گونه محتوا (توسعه‌های بومی و ترکیبی) به فروشگاه برنامه نیاز به یک روش تأیید دارد.

روزی فقدان دانش اولیه در مورد برنامه های موبایل، احتمالاً به شکل بدی در می آید. در ضمن، بیایید در مورد نوع برنامه های کاربردی صحبت کنیم. با آمدن از راه دور، ما می توانیم تنها سه نوع را تشخیص دهیم: برنامه بومی، برنامه وب و ترکیبی.

آیا می دانید اپلیکیشن بومی چیست؟

برای کاربر، برنامه های بومی آنهایی هستند که نیاز به نصب دارند. به طور کلی، این درست است، همانطور که چنین برنامه هایی به طور خاص برای سیستم عامل های تلفن همراه (iOS، Android، ویندوز فون). بنابراین، توسعه دهنده ملزم به داشتن مهارت های برنامه نویسی در یک محیط توسعه خاص (xCode برای iOS، eclipse برای اندروید) است.

خروجی دلپذیر است ظاهرو تعامل یکپارچه برنامه با سیستم عامل تلفن همراه. یک برنامه بومی نیز از نظر امنیت بسیار جلوتر از برنامه های ترکیبی و وب است. چنین برنامه هایی با کمترین مصرف منابع از دوربین، میکروفون، شتاب سنج، پخش کننده و سایر عملکردها استفاده می کنند. به طور معمول، یک برنامه بومی را می توان به دو گروه تقسیم کرد: برنامه هایی که نیاز به اتصال به اینترنت دارند و برنامه های کاربردی آفلاین.

برنامه های وب با یک برنامه بومی متفاوت هستند

از یک وب سایت معمولی در گوشی هوشمند استفاده کنید بهترین سناریوناخوشایند است؛ در بدترین حالت، طرح‌بندی سایت از هم می‌پاشد و پس از آن کار با آن کاملاً غیرممکن است. برنامه های کاربردی وب با هدف استفاده از وب سایت از طریق تلفن ایجاد می شوند. بنابراین، در اصل، این همان سایتی است که برای دستگاه های تلفن همراه بهینه شده است. بر خلاف یک برنامه بومی، برنامه های وب نیازی به نصب ندارند - آنها در مرورگر تلفن شما اجرا می شوند. بنابراین، بسته به مدل گوشی (از پلت فرم موبایلبه طور دقیق تر) مطلقاً هیچ چیز بستگی ندارد. همچنین، صرف نظر از پلتفرم، برنامه های کاربردی وب نمی توانند با توابع تلفن بومی کار کنند.

اما پس یک برنامه بومی در مقایسه با یک وب سایت تلفن همراه چیست؟ مرز بین اپلیکیشن وب و سایت موبایل بسیار نازک است. و در این مورد، این فقط کاربران نیستند که گیج می شوند، بلکه در برخی موارد خود توسعه دهندگان نیز گیج می شوند. اما یک تفاوت وجود دارد. به طور معمول، سایت حاوی اطلاعات کم و بیش ثابت است و چیزی شبیه یک بروشور دیجیتال است. در یک برنامه وب، کاربر می تواند بخشی از این اطلاعات را مدیریت کند - ایجاد صفحات خود، تبادل لینک، متن و غیره

بنابراین، فراخوانی همه چیزهایی که معمولاً خدمات آنلاین نامیده می‌شوند، آسان‌تر است. یک برنامه وب را می توان چیزی نامید که زمانی در فلش و اکنون در HTML5 انجام می شد.

برنامه های ترکیبی

یک برنامه ترکیبی ترکیبی نامیده می شود زیرا برخی از عملکردهای یک برنامه بومی و یک برنامه وب را ترکیب می کند. این یک برنامه چند پلتفرمی است که می تواند با نرم افزار تلفن کار کند. این برنامه ها، درست مانند برنامه های بومی، از فروشگاه برنامه دانلود می شوند، اما داده ها به طور مستقل به روز می شوند. بنابراین، آنها همیشه به اتصال به اینترنت نیاز دارند - بدون آن، توابع وب کار نمی کنند.

چه چیزی را انتخاب کنیم؟ برنامه بومی، ترکیبی یا وب؟

توسعه یک برنامه ترکیبی ارزان تر و سریعتر از ایجاد یک برنامه بومی است. اما کاربران به هر حال تفاوت را متوجه نخواهند شد. از همین رو فناوری های هیبریدیمحبوبترین. با وجود این همه پیچیدگی، تصمیم گیری در مورد انتخاب فناوری برای توسعه یک برنامه بسیار ساده است. اگر برنامه شما نمی تواند بدون عملکردهای بومی دستگاه های تلفن همراه کار کند، اگر سرعت پردازش داده بالا بسیار مهم است (بازی ها، شبکه های اجتماعی، موقعیت جغرافیایی)، پس هیچ چیز بهتر از یک برنامه بومی پیدا نمی شود. زمانی که بتوان سرعت را نادیده گرفت، یک برنامه ترکیبی مناسب است. یک برنامه وب باید زمانی ایجاد شود که کاربر به غیر از اطلاعاتی که در صورت داشتن اینترنت می توانست از گوشی خود به دست آورد، به هیچ چیز دیگری از شما نیاز نداشته باشد.

زمان بسیار کمی از عرضه اولین گوشی های هوشمند دارای سیستم عامل اندروید گذشت تا اینکه علاقه مندان یاد بگیرند که توزیع های لینوکس کامل را بر روی آنها اجرا کنند. تکنیک های امروزی نصب لینوکس-توزیع برای دستگاه های اندرویدی به طور گسترده ای شناخته شده است، و حتی مخزن Google Play شامل سیستم های خودکارتاسیسات و لینوکس را راه اندازی کنید. در این مقاله سعی خواهم کرد تمام تجربیات انباشته شده از کار با لینوکس را در تلفن های هوشمند جمع آوری کنم، به شما بگویم که چرا این مورد نیاز است و نحوه جلوگیری از مشکلات احتمالی هنگام انتقال لینوکس به تلفن هوشمند یا تبلت را نشان دهم.

برای چی؟

در نگاه اول، ممکن است عجیب به نظر برسد که شخصی در حال تلاش برای اجرای یک سیستم عامل بر روی یک دستگاه تلفن همراه است که، در اصل، برای کار با صفحه نمایش طراحی نشده است. اندازه های کوچکو بدون دستکاری کننده (موس) و صفحه کلید به اندازه کافی دقیق. با این حال، شما نباید عجولانه نتیجه گیری کنید. یک توزیع لینوکس می تواند به صاحب یک گوشی هوشمند مزایای بسیار زیادی بدهد، از جمله مجموعه ای از ابزارهای قدیمی اثبات شده، مانند ابزارهای کمکی. خط فرمان، ویرایشگرهای پیشرفته، سرورهای FTP و SSH، ابزارهای شبکه و ابزارهای توسعه برنامه. اجرای لینوکس بدون پوسته گرافیکیدر یک تلفن هوشمند با صفحه کلید سخت افزاری (مثلاً موتورولا دروید)، می توانید از همه اینها کاملاً راحت در حال حرکت استفاده کنید بدون اینکه مجبور باشید خود اندروید را ترک کنید. همه ابزارها در هر زمان در دسترس هستند و گوشی هوشمند همچنان یک گوشی هوشمند است و به شما امکان می دهد تماس ها را دریافت کنید و به رادیو اینترنتی گوش دهید.

دومین استدلال برای نصب لینوکس بر روی تلفن هوشمند، توانایی استفاده از آن به عنوان یک ایستگاه کاری قابل حمل است که می تواند به هر رایانه شخصی متصل شود و بلافاصله با استفاده از کلاینت SSH/Telnet یا کلاینت VNC/RDesktop به ترمینال دسترسی پیدا کند. این طبق تعریف بهتر از درایوهای فلش با لینوکس نصب شده است، زیرا اولاً نیازی به راه اندازی مجدد دستگاه و ثانیاً هدایت داده ها به جلو و عقب نیست. نتایج کار شما بلافاصله پس از جدا کردن تلفن هوشمند خود از رایانه در دسترس خواهد بود.

در نهایت، لینوکس بیشترین مزیت را بر روی تبلت ها ارائه می دهد، صفحه نمایش آن به شما امکان می دهد کم و بیش قابل تحمل در یک محیط گرافیکی کار کنید، و توانایی اتصال ماوس و صفحه کلید از طریق کابل OTG به طور کلی این شانس را می دهد که تبلت را به یک تبلت تبدیل کنید. ایستگاه کاری تمام عیار در عین حال، تفاوت خاصی بین نصب توزیع لینوکس بر روی تبلت و گوشی هوشمند وجود ندارد.

چگونه؟

پورت کردن لینوکس به اندروید واقعاً آسان است و نقش اصلیاینجاست که هسته لینوکس وارد عمل می شود. هر توزیع لینوکس مجموعه ای از برنامه ها و کتابخانه هایی است که در بالای هسته لینوکس اجرا می شوند و از آنجایی که خود اندروید بر اساس هسته لینوکس تقریباً بدون تغییر است، این برنامه ها و کتابخانه ها را می توان بدون هیچ مشکلی در محیط اندروید اجرا کرد. شما فقط باید توزیعی را پیدا کنید که برای آن پورتی به پلتفرم ARM وجود دارد (فراموش نکنید که 99٪ از همه دستگاه های اندرویدی روی ARM اجرا می شوند)، آن را با استفاده از یک شبیه ساز ARM در فضای مجازی نصب کنید. HDD(یعنی روی یک فایل)، این فایل را روی کارت SD دستگاه بیندازید، یک ترمینال را باز کنید، تصویر را به عنوان یک دستگاه حلقه بک سوار کنید و آن را داخل آن قرار دهید. همه! این به سادگی اجرای یک سرور FTP در یک محیط chrooted است - یک روش ساده و چندین دهه آزمایش شده.

تنها مانع زمانی است که تصمیم به راه اندازی دارید توزیع لینوکسداخل اندروید یک محیط گرافیکی است. در حالی که دسترسی به کنسول به دلیل وجود مشکلی ندارد شبیه ساز تمام عیارترمینال، مشکلات با برنامه های گرافیکی شروع می شود - هیچ سرور X بومی برای اندروید وجود ندارد و به دلیل تفاوت های اساسی در معماری زیرسیستم گرافیکی ربات سبز، اجرای یک سرور X معمولی در خود توزیع غیرممکن است. علیرغم این واقعیت که از یک Framebuffer استاندارد لینوکس استفاده می کند که در بالای آن می توانید یک سرور X را اجرا کنید، حق انحصاری استفاده از آن در ابتدا متعلق به کتابخانه های سطح بالاتر اندروید است، بنابراین شما می توانید یک توزیع لینوکس را به جای Android بارگیری کنید ( که کاملاً غیرعملی است) یا راه‌حل‌هایی ارائه می‌کند.

بررسی عملکرد ماژول های لازم

به خاطر داشته باشید که پشتیبانی از دستگاه های Loopback و سیستم های فایل ext2/ext3 مورد نیاز برای نصب تصویر در همه موارد در دسترس نیست. هسته های لینوکسنصب شده بر روی گوشی های هوشمند تحت کنترل اندروید. می توانید با استفاده از lsmod | پشتیبانی را بررسی کنید grep -e loop -e ext2.

علاقه مندان با استفاده از یک روش ساده اتصال "از راه دور" به دسکتاپ با استفاده از هر مشتری VNC موجود برای اندروید از این وضعیت خارج شدند. در داخل محیط chroot سرور Xvnc X اجرا می شود و تمامی برنامه ها تحت کنترل آن اجرا می شوند. کاربر فقط باید کلاینت VNC را نصب کند، وارد کنید آدرس محلی- و voila، یک دسکتاپ تمام عیار روی صفحه ظاهر می شود.

تنها چیزی تنگناهنگام استفاده از دسکتاپ از راه دور، عملکرد آن است. حتی زمانی که به صورت محلی کار می‌کنید، VNC نمی‌تواند سطح مناسبی از قدرت را فراهم کند، که برای اسکرول صاف یا حرکت پنجره‌ها بدون تاخیر کافی است. هنوز حل این مشکل ممکن نشده است؛ پروژه هایی برای توسعه یک سرور X بومی که از آن استفاده می کند زیرسیستم گرافیکاندروید هنوز بسیار خام است و نمی توان از آن برای اجرای محیط های گرافیکی کامل استفاده کرد. با این حال، هیچ کس استفاده از آنها را منع نمی کند. برای مثال، X Server از Darkside Technologies Pty Ltd (goo.gl/ap3uD) برای اجرای نرم افزارهای ساده کاملاً مناسب است.

در ابتدا، لینوکس برای اندروید فقط به عنوان یک تصویر با قبلا وجود داشت سیستم نصب شدهو همچنین دستورالعمل های توضیحی نحوه اتصال و استفاده از این تصویر. سپس اسکریپت‌هایی ظاهر شدند که فرآیند اتصال تصویر و راه‌اندازی لینوکس را خودکار می‌کردند، اما نیاز به کار مغزی نیز داشتند. در نهایت، در اخیرانصب‌کننده‌هایی ظاهر شده‌اند که در Google Play در دسترس هستند (به عنوان مثال، goo.gl/RSA1j)، که تا حدودی فرآیند راه‌اندازی توزیع را خودکار می‌کنند، اگرچه، در اصل، این هنوز همان راهنمای نصب است، اما تعاملی، با مستقیم لینک دانلود تصاویر و اسکریپت ها

گزینه های جایگزین

قبلاً در بالا ذکر کردم که توزیع لینوکس را می توان به جای اندروید بارگیری کرد که به لطف آن می توان از Framebuffer برای دسترسی مستقیم به آداپتور ویدیو استفاده کرد و سرعت کار را به میزان قابل توجهی افزایش داد. رابط کاربری گرافیکی. با این حال، انجام این کار در تلفن هوشمند تقریبا بی معنی است - لینوکس به عنوان سیستم اصلی در صفحه نمایش های کوچک نامناسب است و دریافت تماس و استفاده از اینترنت غیرممکن خواهد بود. اما در تبلت لینوکسکاملا مناسب به نظر خواهد رسید

به طور معمول، نسخه به اصطلاح بومی توزیع لینوکس بر روی دستگاهی نصب می شود که ابتدا اندروید را به شرح زیر اجرا می کند. یک پارتیشن اضافی در درایو NAND داخلی تبلت ایجاد می شود که توزیع لینوکس روی آن کپی می شود. سپس بوت لودر U-Boot(در اکثر تبلت ها استفاده می شود) برای استفاده از این پارتیشن به عنوان پارتیشن بوت پیکربندی شده است. در نتیجه، تبلت پس از روشن شدن برق، به طور خودکار وارد سیستم لینوکس می شود.

برای گذاشتن امکان دانلودهای اندروید، بوت لودر U-Boot مجدداً پیکربندی شده است تا پارتیشن با سیستم لینوکس اصلی نباشد، بلکه به عنوان یک "پارتیشن بازیابی" عمل کند ( حالت بازیابی) با روشن کردن دستگاه در حالی که کلید ولوم را نگه دارید (همان چیزی که برای فلش دستگاه و انجام عملیات بازیابی مختلف استفاده می شود) قابل دسترسی است. به این ترتیب می‌توانید دستگاهی با بوت دوگانه دریافت کنید: اندروید به‌طور پیش‌فرض و توزیع لینوکس هنگام راه‌اندازی در حالت بازیابی. حالت بازیابی خود تنها با کمک ابزارهای ویژه قابل دسترسی است.

اگر حافظه NAND برای قرار دادن یک سیستم لینوکس کامل کافی نباشد، بخش‌هایی از آن (معمولاً پارتیشن usr/) به یک تصویر یا پارتیشن روی کارت SD منتقل می‌شود. به هر حال، پارتیشن ext2 روی کارت حافظه نیز می تواند برای نصب لینوکس در حال اجرا در محیط chroot استفاده شود.

نصب یک توزیع لینوکس بومی دشوارتر از نصب توزیعی است که در محیط chroot اجرا می شود، اما اگر تبلت و کابل OTG دارید که می توانید صفحه کلید و ماوس را با آن متصل کنید، ارزشش را دارد.

درس عملی

همانطور که قبلاً گفتم، فقط توزیع های پورت شده به اندروید برای اجرای تحت اندروید مناسب هستند. معماری ARM. اول از همه، اینها اوبونتو و دبیان هستند، و اولین، به دلایل واضح، در بین رباتیک ها بسیار مورد توجه است. همچنین می توانید جنتو و چندین توزیع تخصصی مانند Backtrack را نصب کنید. بیایید معمولی ترین مورد را در نظر بگیریم، یعنی نصب اوبونتوطبق طرح استاندارد، بدون استفاده از نصب کننده خودکار یا هر چیز دیگری.


ابتدا به یک تصویر نیاز داریم هارد دیسکبا توزیع نصب شده. شما می توانید آن را خودتان با استفاده از شبیه ساز QEMU ایجاد کنید، با این حال، به دلیل این واقعیت که روش نصب کاملاً استاندارد و معمولی است، من آن را توصیف نمی کنم، بلکه شما را به سادگی به آدرس goo.gl/9nvBi هدایت می کنم. در اینجا یک بایگانی با یک تصویر است که اوبونتو 12.04 با محیط گرافیکی LXDE از پیش نصب شده است (اجرای Unity/Gnome بر روی تلفن/تبلت غیرعاقلانه است). آرشیو باید باز شود و فایل ubuntu.img روی کارت حافظه قرار گیرد.

در مرحله بعد، باید تصویر را مونت کنید و آن را در محیط توزیع قرار دهید. برای انجام این کار، به حقوق ریشه، سیستم‌افزار با پشتیبانی از دستگاه‌های حلقه بک بلاک، و busybox نصب شده نیاز دارید (در بازار برای «busybox installer» جستجو کنید؛ CyanogenMod به طور پیش‌فرض آن را دارد). ترتیب دهی:

  1. شبیه ساز ترمینال را در اندروید باز کنید (اگر نه، می توانید آن را از مارکت نصب کنید شبیه ساز ترمینال) . یا گوشی هوشمند/تبلت را به کامپیوتر متصل می کنیم و با آن به ترمینال دسترسی پیدا می کنیم با استفاده از adb: $ cd path-to-Android-SDK/platform-tools $ sudo ./adb shell

    فراموش نکنید که حالت اشکال زدایی در این مورد باید فعال باشد: "تنظیمات -> برای توسعه دهندگان -> اشکال زدایی اندروید".

  2. ما حقوق ریشه را دریافت می کنیم:$su
  3. ما یک دستگاه حلقه بک بلوک ایجاد می کنیم، یک تصویر دیسک را به آن متصل می کنیم و آن را سوار می کنیم:# mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu

    محتویات تصویر باید در پوشه /sdcard/ubuntu ظاهر شود. بررسی کنید که این مورد است.

  4. ما تمام سیستم های فایل مجازی لازم برای کارکرد توزیع را به هم وصل می کنیم:# mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
  5. ما آن را طوری پیکربندی می کنیم که بتوانید از محیط chroot به شبکه دسترسی کامل داشته باشید:# sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost" > /mnt/ubuntu/etc/hosts
  6. بریم سراغ محیط chroot:# chroot /mnt/ubuntu

در واقع، اینجا جایی است که نصب به پایان می رسد. اکنون می‌توانید نرم‌افزار کنسول را راه‌اندازی کنید، سیستم را به‌روزرسانی کنید، خدمات شبکه را راه‌اندازی کنید و تقریباً هر کاری را که می‌توان با یک سیستم لینوکس رومیزی معمولی انجام داد، انجام داد، البته فراموش نکنید که برخی از نرم‌افزارهایی که مستقیماً با سخت‌افزار و شبه‌دستگاه‌های تخصصی مختلف تعامل دارند، کار نمیکند. همچنین فراموش نکنید که FS مجازی پس از اتمام کار باید از حالت نصب خارج شود.

اکنون باید سرور Xvnc X را نصب و اجرا کنیم که دستگاه های نمایش و ورودی را با استفاده از پروتکل VNC صادر می کند. TightVNCserver قبلاً در تصویر ارائه شده وجود دارد و حتی پیکربندی شده است، اما برای اینکه بتوانید روند را بهتر درک کنید و بتوانید مشکلات پیش آمده را حل کنید، روند نصب و راه اندازی آن را با جزئیات شرح خواهم داد.

  1. به روز رسانی و نصب TightVNCserver:# آپدیت apt-get # apt-get نصب tightvncserver
  2. یک فایل /root/.vnc/xstartup ایجاد کنید و موارد زیر را در آن بنویسید:#!/bin/sh xrdb $HOME/.Xresources xsetroot -اکسپورت خاکستری جامد XKL_XMODMAP_DISABLE=1 icewm & lxsession

    دستور سوم در اینجا برای رفع مشکلاتی که ممکن است به دلیل عدم وجود صفحه کلید روی دستگاه ایجاد شود، مورد نیاز است.

  3. ما Xvnc را با استفاده از پوشش دهنده vncserver با حقوق ریشه راه اندازی می کنیم:# export USER=root # vncserver -geometry 1024x800

    در نتیجه اجرای آخرین دستور، درخواست رمز عبور برای دسترسی به سرور VNC روی صفحه نمایش داده می شود؛ بهتر است چیزی ساده مانند "123" را مشخص کنید. تقریباً می‌توانید هر وضوحی را تنظیم کنید، اما بهتر است با وضوح فیزیکی صفحه دستگاه مطابقت داشته باشد.

  4. برنامه AndroidVNC را روی گوشی هوشمند خود نصب کنید، آن را راه اندازی کنید، آدرس IP و پورت 5901 را مشخص کرده و متصل شوید.دسکتاپ LXDE باید روی صفحه نمایش شما ظاهر شود.

برای اینکه مزاحم نشوید ورود دستیهمه دستورات، می توانید از اسکریپت ubuntu.sh که در اینجا قرار دارد استفاده کنید: goo.gl/xSpK4. کافیست آن و تصویر ubuntu.img را در پوشه ubuntu روی کارت SD قرار دهید و اسکریپت را با دستور sh ubuntu.sh اجرا کنید و بعد از 5-10 ثانیه با استفاده از AndroidVNC به دسکتاپ متصل شوید. به خاطر داشته باشید که اسکریپت تصویر را در پوشه /data/local/mnt قرار می دهد.


نصب جنتو روی پارتیشن ext2

بنابراین، ما اوبونتو را با استفاده از یک تصویر با یک سیستم فایل و ترفندهایی با یک دستگاه loopback و یک محیط chroot نصب کردیم. معلوم شد که انجام این کار آسان است و با استفاده از اسکریپت ها به طور کلی بسیار آسان است، اما اگر جلوتر برویم و توزیع هاردکورتری را نصب کنیم و از تصاویر استفاده نکنیم، بلکه روی یک پارتیشن اختصاصی ext2 روی کارت حافظه استفاده کنیم، چه؟ به این ترتیب می‌توانیم مشکل برخی از میان‌افزارها و کرنل‌ها را بدون پشتیبانی از دستگاه‌های حلقه بک حل کنیم و علاوه بر این، می‌توانیم از توزیع معمولی نصب شده طبق همه قوانین لذت ببریم.


بیایید جنتو را به عنوان یک سیستم آزمایشی در نظر بگیریم. برای نصب آن بر روی پارتیشن ext2 به یک کارت حافظه با ظرفیت حداقل 2 گیگابایت و یک گوشی هوشمند روت شده با busybox نصب شده است. ترتیب اقدامات به شرح زیر است.

  1. بیایید انجام دهیم فایل پشتیبانی اطلاعاتاز کارت حافظه و ایجاد یک پارتیشن اضافی روی آن، با ظرفیت حداقل دو گیگابایت. این را می توان با استفاده از هر برنامه پارتیشن بندی دیسک انجام داد، اما به خاطر داشته باشید که اگر می خواهید از کارت SD برای هدف مورد نظر خود استفاده کنید، باید یک پارتیشن FAT32 در ابتدای کارت ایجاد کنید تا اولین پارتیشن شود. یک، و یک پارتیشن اضافی برای نصب توزیع باید پارتیشن دوم باشد.
  2. قالب بندی پارتیشن های کارت SD:$ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. تلفن را می گیریم، به "تنظیمات -> درباره تلفن" می رویم و به پردازنده ای که نصب شده است نگاه می کنیم.بعد به صفحه goo.gl/PRfux رفته و مرحله 3 را برای معماری مورد نظر دانلود کنید، برای مثال stage3 برای ARM v7 در دایرکتوری current-stage3-armv7a قرار دارد.
  4. ما پارتیشن ext2 کارت حافظه را روی رایانه نصب می کنیم و محتویات آرشیو حاصل را در آن باز می کنیم:$ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt

    ما بلافاصله تنظیمات و هر چیزی که نیاز دارید را مطابق با سلیقه شما ویرایش می کنیم، از جمله ویرایش /etc/resolv.conf طبق مثال قسمت قبل.

  5. شبیه‌ساز ترمینال را راه‌اندازی می‌کنیم (یا «پوسته adb» را اجرا می‌کنیم)، همه چیزهایی را که نیاز داریم سوار می‌کنیم و به chroot می‌رویم (تقریباً مانند مورد اوبونتو): # mount -o remount,rw / # mkdir /mnt/gentoo # mount /dev/ block/mmcblk0p2 /mnt/gentoo # mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net. ipv4.ip_forward=1 # chroot /mnt/gentoo

دسترسی به دسکتاپ به همان روشی که در اوبونتو انجام می شود انجام می شود، با این تفاوت که اکنون باید یکسری نرم افزار را مستقیماً روی گوشی جمع آوری کنید :). با این حال، می توانید یک محیط برای کامپایل متقابل در رایانه خود راه اندازی کنید، اما این موضوع برای یک مقاله جداگانه است.

نصب بومی

پس از راه اندازی اوبونتو با استفاده از یک سرور VNC، متوجه کندی عملکرد آن خواهید شد، که با سربار پروتکل VNC برای انتقال تصاویر "از طریق شبکه" مرتبط است. برای جلوگیری از این مشکل می توانید اوبونتو را به عنوان سیستم اصلی در کنار اندروید نصب کنید تا بتواند مستقیماً از آداپتور ویدیویی استفاده کند. متأسفانه هیچ راه جهانی برای انجام این کار وجود ندارد. هر دستگاه به روش خود منحصر به فرد است، از جمله جداول پارتیشن مختلف حافظه NAND که روی آن نصب شده است. دستگاه های مختلفو رانندگان برای عملکرد آنها.


خوشبختانه، روند نصب نسخه بومی توزیع برای بسیاری از دستگاه ها در انجمن های روسی زبان به خوبی توضیح داده شده است، بنابراین یافتن دستورالعمل ها دشوار نخواهد بود. با این حال، ارزش توجه فوری به چندین ویژگی این نوع نصب را دارد:

  • پارتیشن NAND جدا یا اصلی. توزیع لینوکس را می توان در یک پارتیشن از پیش ساخته شده در حافظه NAND یا در پارتیشن اصلی بوت نصب کرد. در حالت اول، توسعه دهنده سیستم عامل معمولاً گزینه بارگیری اندروید را با استفاده از یک اسکریپت خاص یا با بارگذاری یک توزیع لینوکس در حالت ریکاوری باقی می گذارد؛ در حالت دوم، آن را نصب می کند. بجایاندروید و برای بازگرداندن قابلیت دانلود ربات باید دوباره دستگاه را ریفلش کنید.
  • فرصت چکمه دوتایی. اگر توزیع لینوکس روی یک پارتیشن جداگانه نصب شده باشد، توسعه دهنده می تواند گزینه بوت اندروید را ترک کند. با این حال، باید فوراً به نحوه انجام این بارگیری توجه کنید: استفاده از حالت بازیابی یا اسکریپتی که از یک رایانه معمولی راه اندازی شده است. با این حال، روش دوم در جاده ناخوشایند خواهد بود.
  • پشتیبانی سخت افزاری هسته اصلی لینوکس سیستم عامل اندروید از قبل شامل همه چیز است درایورهای لازم، که ممکن است برای عملکرد یک سیستم لینوکس کامل مورد نیاز باشد، اما همه سیستم عامل های لینوکس همه چیز را به خودی خود شروع نمی کنند. مشکلات اغلب با آداپتور Wi-Fi و صفحه لمسیکه به لمس واکنش نامناسبی نشان می دهد. بنابراین، قبل از نصب سیستم عامل، باید به دقت در مورد عوارض احتمالی مطالعه کنید.

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

بعدش چی

توزیع لینوکس، نصب شده در نزدیکیبا سیستم اصلی آندروید، می تواند به یک ابزار کاری بسیار راحت تبدیل شود، با این حال، این لحظه"لینوکس در اندروید" بیشتر به عنوان یک اسباب بازی و راهی برای خودنمایی به دوستان تلقی می شود تا یک راه حل جدی. من مطمئن هستم که به زودی، زمانی که یک پیاده سازی کامل از سرور گرافیکی Wayland برای اندروید ظاهر شود، وضعیت شروع به تغییر خواهد کرد و شاهد توزیع هایی خواهیم بود که برای صفحه نمایش های کوچکرابط، و همچنین برنامه های لینوکس کامل که در قالب بسته های APK معمولی توزیع شده اند. همچنین پروژه اوبونتو را فراموش نکنید برای اندروید- در چارچوب آن، کار بر روی یک پورت رسمی اوبونتو برای اندروید در حال انجام است که به شما امکان می دهد از تلفن هوشمند خود به عنوان یک واحد سیستم قابل حمل متصل به هر مانیتور استفاده کنید.

همه عناصر در یک صفحه وب هنگام بارگذاری اهمیت یکسانی ندارند. محتوایی که برای کاربر قابل مشاهده است بر محتوای پایین صفحه اولویت دارد.

بارگذاری تنبل فناوری جدیدی نیست. برخی از سایت های اینترنتی از آن برای افزایش سرعت بارگذاری صفحات وب استفاده می کنند. به جای دانلود یکباره همه محتوا، این تکنیکبه شما این امکان را می دهد که برخی از آیتم ها را در صورت نیاز یا کمی قبل از نیاز بارگیری کنید.

به عنوان مثال، اجازه دهید یک مقاله شامل سه صفحه را در نظر بگیریم. تصاویر صفحه سوم را می توان بلافاصله با باز کردن مقاله توسط کاربر بارگیری کرد یا زمانی که کاربر به صفحه دوم رفت می توان آنها را بارگذاری کرد. در حالت دوم، زمان بارگذاری صفحه نخستکاهش خواهد یافت.

بارگذاری تنبل در کروم

chrome://flags/#enable-lazy-image-loading
  • برای فعال کردن بارگیری تنبل تصاویر در کروم، پرچم را فعال کنید.
chrome://flags/#enable-lazy-frame-loading
  • برای فعال کردن بارگیری تنبل فریم ها در کروم، پرچم را فعال کنید.
  • مرورگر کروم خود را مجددا راه اندازی کنید.

در نتیجه، کروم تصاویر و فریم‌ها را با پیمایش کاربر در صفحه بارگیری می‌کند.

مزایای کاربران کروم چیست؟

تکنیک بارگذاری تنبل زمان بارگذاری برخی از صفحات را با مسدود کردن بارگیری برخی از عناصر در هنگام باز شدن صفحه و بارگیری آنها تنها زمانی که صفحه را اسکرول می کنید، بهبود می بخشد. که در کروم داده شده استاین تکنیک فقط برای تصاویر و فریم ها کاربرد دارد.

بارگذاری تنبل عمدتاً برای اتصالات آهسته مفید است. روی کامپیوتر با اتصال با سرعت بالادرک تفاوت در اینترنت دشوار است. اگر استفاده می کنید کانال های ضعیفبا دسترسی (5 مگابیت در ثانیه) یا کمتر، مزایای بارگذاری تنبل را متوجه خواهید شد، به خصوص در صفحات با مقدار زیادتصاویر و قاب ها

علاوه بر این، بارگذاری تنبل باعث صرفه جویی در ترافیک می شود اتصالات اندازه گیری شدهبه اینترنت اگر کاربر صفحه را بدون اسکرول ببندد، تصاویر و فریم های پایین هرگز بارگذاری نمی شوند.

هنوز مشخص نیست چگونه خصوصیت جدیددر سایت هایی که قبلاً از بارگذاری تنبل استفاده می کنند کار خواهد کرد. آیا ویژگی بومی Chrome غیرفعال می شود یا تداخل احتمالی وجود خواهد داشت؟

اشتباه تایپی پیدا کردید؟ Ctrl + Enter را فشار دهید

برنامه های بومی برنامه هایی هستند که برای اجرا بر روی سیستم عامل ها طراحی شده اند خانواده ویندوز NT (NT/2000/XP/2003/Vista/7)، قابلیت شروع زود هنگام بوت شدن ویندوز، قبل از پنجره ورود به سیستم و حتی قبل از شروع هر زیرسیستم ویندوز. صفحه آبیهنگام بارگذاری ویندوز XP که مثلاً دیسک چک شده است و همان حالت وجود دارد. برنامه های کاربردی بومی فقط از Native API استفاده می کنند، آنها فقط می توانند از توابع صادر شده از کتابخانه ntdll.dll استفاده کنند. توابع WinAPI برای آنها در دسترس نیست.

برنامه های بومی روی صفحه ای که قبل از ظاهر شدن پنجره ورود ظاهر می شود اجرا می شوند. یک مثال از یک برنامه بومی است برنامه chkdsk، که قبل از ورود به ویندوز اجرا می شود اگر پارتیشن سیستم قبلاً برای خطا بررسی شده بود و تا راه اندازی مجدد به تعویق افتاد. برنامه با نمایش پیام ها روی صفحه اجرا می شود و سپس اتفاق می افتد راه اندازی عادیپنجره ها.

مزایای استفاده از این حالت: بیشتر اجزای ویندوزهنوز راه اندازی نشده است، محدودیت های زیادی وجود ندارد. این حالت برای مثال در برنامه هایی استفاده می شود که می خواهند کاری با آن انجام دهند پارتیشن سیستمویندوز، اما آنها نمی توانند در حالی که در حال اجرا است سیستم عامل: یکپارچه سازی، مبدل سیستم فایل، و ابزارهای مشابه.

توابع در ntdll.dllپیشوند دارند Zwو Nt، و همچنین برخی دیگر. مشاهده می شود که توابع Zw و Nt دارای نام های تکراری هستند. در واقع اینها همان عملکردها هستند. اگر به دنبال نمونه ای از استفاده از یک تابع به صورت آنلاین هستید، باید ابتدا با یک پیشوند و سپس با پیشوند دیگری جستجو کنید، در غیر این صورت ممکن است چیزی را از دست بدهید. اینکه چرا آنها پیشوندهای متفاوتی دارند داستان جداگانه ای است؛ برای برنامه نویسی برنامه های بومی نقش مهمی ندارد.

برنامه نویسی به نمونه های اولیه توابع Native API نیاز دارد، اما همه تعاریف در فایل های هدر WDK وجود ندارد. استفاده از فایل های هدر جایگزین، از جمله تعاریف توابع غیرمستند و انواع داده ضروری است. به عنوان مثال، می توانید از فایل های هدر Native استفاده کنید کیت توسعه(NDK)، که در دسترس هستند.

برنامه نویسی با استفاده از یک Native API خالص ناخوشایند است. شما نمی توانید بدون کتابخانه ای که قبلاً برخی از اقدامات روتین را اجرا می کند، کار کنید. یک کتابخانه منبع باز وجود دارد - می توانید از آن استفاده کنید. یک کتابخانه NDL خاص نیز در صفحه NDK اعلام شد، اما در وب سایت نیست.

برای اینکه برنامه بومی از چه زمانی شروع شود راه اندازی ویندوز، باید آن را در دایرکتوری system32 قرار دهید و نام فایل و آرگومان های آن را، در صورت وجود، در کلید رجیستری HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute بنویسید. کلید از نوع MULTI_SZ است و می تواند شامل چندین خط باشد. اولین خط آنجا Autocheck Autochk * است. بعد از آن می توانید برنامه خود را بنویسید. برنامه ای که با این کلید نوشته شده است تمایل دارد حتی در داخل اجرا شود حالت امنپنجره ها ( حالت امن) پس باید مراقب باشید. یک خطا در برنامه - و سیستم شروع نمی شود. اما می‌توانید واقعیت راه‌اندازی در حالت امن را در داخل برنامه پیگیری کنید و این حالت را جداگانه پردازش کنید، به عنوان مثال، اگر برنامه تشخیص داد که در حالت ایمن اجرا می‌شود، آن را خاتمه دهید. علاوه بر این، اگرچه برنامه شروع می شود و می تواند برخی از اقدامات را انجام دهد، خروجی کنسول در این حالت کار نمی کند. تعامل با کاربر امکان پذیر نیست. این باید در نظر گرفته شود.

در صورت لزوم، برنامه بومی را می توان بدون راه اندازی مجدد رایانه راه اندازی کرد. برای این کار از نرم افزار nrun.exe استفاده کنید. اما این باعث نمی شود که صفحه بارگیری ظاهر شود، و شما باید بفهمید که در صورت نیاز به تعامل، چگونه با برنامه خود تعامل کنید. که در کد منبع nrun می توانید ببینید که چگونه راه اندازی فرآیندهای بومی با استفاده از توابع Native API غیرمستند پیاده سازی می شود.

برای برنامه های بومی، نقطه ورودی اصلی یا wmain نیست، اما NtProcess Startup. هدر PE فایل EXE دارای یک فیلد خاص است که نشان دهنده زیرسیستمی است که برنامه در آن اجرا می شود. برای برنامه های بومی، این فیلد روی یک مقدار خاص تنظیم شده است، به این معنی که EXE به زیرسیستم نیاز ندارد. U برنامه های معمولیمقدار مربوط به زیرسیستم ها تنظیم شده است " رابط کاربری گرافیکی ویندوز" یا "کنسول ویندوز". برنامه های بومی در داخل اجرا نمی شوند حالت عادی عملکرد ویندوز. هنگام تلاش برای دویدن برنامه ویندوزپیام "برنامه را نمی توان در حالت Win32 راه اندازی کرد" نمایش می دهد.

نمایش الفبای سیریلیک روی صفحه به طور پیش فرض در این حالت پشتیبانی نمی شود. راهی برای دور زدن این محدودیت وجود دارد، با این حال، این روش پیچیده است و در حال حاضر فقط روی ویندوز XP کار می کند.

آماده سازی یک پروژه کاربردی بومی

من یک الگوی پروژه برنامه Native ایجاد کردم - مجموعه ای از فایل ها که می توانند به عنوان پایه ای برای توسعه برنامه Native خود استفاده شوند. خرد حاوی یک فایل native.c حاوی نقطه ورود به برنامه است. فایل‌های باقی‌مانده، فایل‌های کتابخانه ZenWINX هستند که برای استفاده از تعاریف تابع از NDK به جای فایل تعریف خودشان، اصلاح شده‌اند. این به شما امکان می دهد هم از توابع خود کتابخانه و هم از عملکردهای Native API استفاده کنید که توسعه دهندگان ZenWINX فراموش کرده اند در فایل هدر خود قرار دهند. در واقع NDK یک فهرست Native کاملتر است توابع APIاز فایل ارائه شده با ZenWINX. شما باید قطعه کار را با استفاده از ابزار ساخت WinDDK کامپایل کنید (من از WinDDK نسخه 1.1.6001.000 استفاده می کنم). شما باید فایل های سرصفحه NDK را با مشخص کردن مسیرهای دایرکتوری همراه با آنها اضافه کنید.

همچنین امکان توسعه و ساخت برنامه های Native به طور مستقیم در آن وجود دارد ویژوال استودیو، بدون استفاده از کامپایلر WDK. نحوه انجام این کار در مقاله نوشته شده است

بهترین مقالات در این زمینه