اطلاعات سیستم عامل اندروید
اینم یه اطلاعاتی در باره سیستم اندروئید برای کسانی که آشنایی ندارنسیستم عامل آندروید چیست ؟
Android به زبان ساده سیستم عاملی است برای دستگاه های موبایل و گوشی های هوشمند که توسط بیش از 30 کمپانی معروف پشتیبانی می شود. آندروید اوپن سورس است و توسعه دهندگان می توانند با استفاده از Android SDK برنامه های مختلفی برای این سیستم عامل بنویسند. در واقع آندروید بستری را فراهم می کند تا برنامه نویسان بتوانند هرچه سریعتر و بهتر برنامه هایی بسازند که از تمام ویژگی های یک گوشی هوشمند استفاده کند. آندروید به معنای واقعی “باز” (=Open) است، یعنی برنامه نویس می تواند از تمام قدرت یک تلفن همراه استفاده کند. آندروید امکان استفاده از توابع داخلی گوشی موبایل همچون شماره گیری، فرستادن SMS یا استفاده از دوربین گوشی را به برنامه نویسان می دهد تا بتوانند اپلیکیشن های قدرتمند و کاربردی برای کاربران بسازند.
تمام برنامه ها برای آندروید یکی اند. آندروید فرقی میان یک برنامه third-party و توابع هسته سیستم عامل در اجرا نمی گذارد و هر دو می توانند دسترسی مساوی به قابلیت های گوشی داشته باشند. گوشی هایی که سیستم عامل آندروید را خواهند داشت به کاربرشان اجازه می دهند تا از تمام قابلیت های یک گوشی هوشمند بهره ببرند. کاربران این گوشی ها به معنای واقعی می توانند دستگاه خود را بر اساس سلیقه ی خود تغییر دهند و محیط سیستم عامل گوشی خود را سفارشی و شخصی سازی کنند. حتی کاربران می توانند برای گوشی تعیین کنند که عکس هایشان با چه برنامه ای باز شود.
ویژگی ها و خصوصیات آندروید
آندروید تمامی تکنولوژی های اتصال (=Connectivity) شامل GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth و Wi-Fi را پشتیبانی می کند.
آندروید از فرمت های مختلف فایل های مالتی مدیا مثل MPEG-4, H.264, MP3, AAC, AMR, JPEG, PNG, GIF پشتیبانی می کند.
SMS, MMS و XMPP فرم هایی هستند که آندروید برای ارسال پیغام های متنی یا همان SMS از آن ها پشتیبانی می کند.
مرورگر موجود در آندروید بر اساس فریم ورک اوپن سورس WebKit توسعه یافته است.
SQLite نرم افزاریست که برای ذخیره داده ها و مدیریت بانک های اطلاعاتی سبک در آندروید در نظر گرفته شده است.
ماشین مجازی جاوا (=Java Virtual Machine) در آندروید به صورت پیش فرض تعبیه شده است. تمام برنامه های آندروید باید به زبان جاوا نوشته شوند. البته این نسخه از JVM برای دستگاه های موبایل بهینه شده است.
ابزارهای مختلف آندروید برای توسعه دهندگان به راحتی در دسترس است و توسط شرکت گوگل پشتیبانی می شوند. این ابزارها شامل کتابخانه ها، خطایاب، شبیه ساز گوشی و یکم پلاگین برای اکلیپس است.
آندروید از سخت افزارهای مختلف همچون GPS و دوربین های متنوع پشتیبانی می کند.
تصاویر و فایل های گرافیکی بوسیله OpenGL پردازش می شوند که کیفیت بالاتری خواهند داشت.
توسعه برنامه های کاربردی در آندروید سریع، راحت و لذت بخش است
گوگل دسترسی آسان به ابزارهای سودمند و کتابخانه های بسیاری را برای توسعه و تولید برنامه های کاربردی مبتنی بر آندروید فراهم کرده است، که برنامه نویسان می توانند با استفاده از آن ها هرچه سریع تر و راحت تر برای آندروید برنامه تولید کنند. این ابزارها شامل خطایاب، شبیه ساز گوشی، کتابخانه ها، اسناد، کدهای نمونه و یک پلاگین برای اکلیپس است. برنامه نویسی برای آندروید به زبان جاوا انجام می گیرد. توابع خود آندروید نیز با استفاده از جاوا پیاده سازی شده اند. آندروید فقط قادر است کدهای مدیریت شده (=Managed Codes) را اجرا کنید و قادر به اجرای کدهای Native نخواهد بود.
آندروید سیستم عاملی بر اساس لینوکس
این سیستم عامل بر اساس هسته سیستم عامل لینوکس توسعه یافته است. در واقع مدیریت و بهینه سازی حافظه، ارتباط با سخت افزار و سرویس های سیستم، امنیت، مدیریت پردازش ها و مدیریت منابع دستگاه موبایل را هسته لینوکس انجام می دهد و آندروید فقط لایه ایست که ارتباط میان کاربر و سیستم عامل را برقرار می کند. این لایه نرم افزاری بوسیله جاوا پیاده سازی شده است و به همین علت قادر به اجرای کدهای Native نخواهد بود. آندروید همانند لینوکس اوپن سورس خواهد بود و توسعه دهندگان بیشماری بر روی آن کار می کنند.
اندروئید نام سیستمعامل منبع بازی است که گوگل برای تلفنهای همراه طراحی کردهاست
این سیستم عامل برای اولین بار در سال 2007 توسط گروهی به نام Open Handset Alliance معرفی شد. این گروه ترکیبی از شرکتهای سازنده سختافزار، نرمافزار و خدمات ارتباطی بودند که توسط گوگل تشکیل شدهبود.
این گروه در طی سه سال گذشته توانسته شرکتهای مختلف سازنده تلفن همراه را با خود همراه سازد و با عرضه این سیستم عامل برروی گوشیهای ساخت شرکتهای مطرحی مانند HTC، سامسونگ و موتورولا به گسترش سیستم عامل اندروید کمک کند.
ایده اصلی سیستم عامل اندروئید، منبع باز (Open Source) بودن آن است به این معنی که هر ** با نصب برنامهای به نام (SDK (Software Development Kit میتواند برای این سیستم عامل برنامه مورد علاقه خود را بنویسد و آن را در فروشگاه نرمافزار اندروئید به نام Android Market Place برای فروش عرضه کند.
این سیستم عامل در نسخههای ابتدایی از قابلیت چند لمسی (Multi-Touch) برخوردار نبود ولی در نسخههای جدید آن برروی گوشیهایی مانند Nexus One چنین قابلیتی پیشبینی شدهاست.
معماری
سیستم عامل اندروئید از نظر معماری یک پشته نرمافزاری (Software Stack) به حساب میآید، به این معنی که مجموعهای از برنامههای کوچک متصل به هم است که همگی به صورت یک سیستم عامل واحد کار میکنند.
در پایینترین بخش معماری اندروئید، kernel این سیستم عامل قرار دارد. kernel هسته مرکزی سیستم عامل و ابتداییترین بخش آن را تشکیل میدهد. گوگل از نسخه 2.6 لینوکس برای طراحی kernel اندروئید استفاده کرد که شامل برنامههای مدیریت حافظه، ایمنی و Driverهای سیستم میشود.
بخش دیگر پشته اندروئید، کتابخانهها (Library) سیستم عامل است. این بخش شامل دستورالعملهای مختلفی است که به دستگاه دستور میدهد با دیتای مختلف چطور رفتار کند. برای مثال کتابخانه Media Framework شامل اطلاعات اجرای انواع فرمتهای فایلهای عکس، فیلم و موزیک است.
در همین سطح از پشته ااندروئید، Android Runtime قرار دارد که شامل کتابخانههای Java است که در ساخت برنامههای اندروئید به کار میرود و برای اجرای آنها کاملاً حیاتی میباشد.
بخش دیگر پشته Runtime، Davlik Virtual Machine است. Virtual Machine نوعی از برنامهها هستند که برروی سیستم عاملهای مختلف نصب میشوند و محیط سیستم عامل و منابع آن را برای استفاده توسط برنامههای سیستم عاملهای دیگر آماده میکنند. یکی از مزایای استفاده از Virtual Machine در سیستم عامل اندروئید این است که هیچ برنامهای به منابع برنامه دیگر وابسته نیست و اگر یکی از برنامهها Crash کند، کارکرد برنامههای دیگر تحت تأثیر قرار نمیگیرد. این امر مدیریت حافظه سیستم را نیز بسیار ساده میسازد.
در بالاترین سطح پشته اندروئید، چارچوب نرمافزارها (Application Framework) قرار دارد. این لایه شامل برنامههای کاربردی سیستم عامل نظیر برقراری تماس، استفاده از دوربین و ذخیره شماره تلفن است.
این لایه از سیستم عامل همان لایهای است که به صورت "باز" در اختیار برنامه نویسان قرار میگیرد. این امر به آنها اجازه دستیابی به منابع موبایل و سیستم عامل را میدهد.
Android SDK چیست ؟
Android SDK برنامه ای است که بوسیله این برنامه میتوانید همه دستورات مربوط به آندروید را در کامپیوتر اجرا کنید . Android SDK به صورت یک پک از سوی خود گوگل برای همه آندروید داران عرضه شده است اما به علت اینکه ما ایرانی هستیم و گوگل برای ما ***** کرده پس به اجبار باید گوگل را دور بزنیم . برای اینکه بتونید مراحل اولیه کارها با آندروید را انجام بدهید حتما باید Android SDK را دانلود کنید. Android SDK را از فایلهای ضمیمه که در 10 قسمت است رو دریافت کنید . بعد اون را به :C:\AndroidSDK
در سیستم خود آنزیپ کنید به علت اینکه بعد از این در آموزشها و نحوه ی نصب برنامه و ... , این آدرس ، آدرس مرجع برای AndroidSDK می باشد .
ADB چیست و چه عملیاتی را انجام می دهد ؟
ADB مخفف واژه Android Debug Bridge به معنی پل دیباگ آندروید است . این ابزار همراه با Android SDK در اختیار قرار میگیرد و برای کنترل و ارتباط با دستگاه آندرویدی شما کاربرد دارد . این ابزار و یا بهتر بگم مجموع دستورات داخل فولدر tools از Android SDK قرار دارد . این دستورات مهمترین اطلاعاتی هستند که هر فرد آندروید داری باید از آنها برای گوشی خود استفاده کند پس یاد گیری این دستورات از واجبات آندروید است تا شما بتوانید عملیات ابتدایی را برای گوشی خود انجام دهید . دستورات ADB بسیار زیاد هستند و بعضی از دستورات به صورت گردشی اجرا میشوند تا شما برای توقف آنها دستوری صادر کنید و اطلاعات کوچکی در هر بار بررسی را در اختیار شما قرار میدهند . در زیر با دستورات SDK بیشتر آشنا میشویم .
Android Debug Bridge Version 1.0.20
-d
باعث میشود دستورات به صورت مستقیم به تنها USB متصل برود و اجراء شود ؛ اگر بیشتر از یک USB متصل باشد باعث بوجود آمدن خطا میشود .
-e
باعث میشود دستورات مستقیما به تنها شبیه ساز برود و اجراء شود ؛ اگر بیشتر از یک شبیه ساز فعال باشد باعث بوجود آمدن خطا میشود .
-s <شماره سریال >
باعث ارسال و اجراء دستور به طور مستقیم به این شماره سریال میشه اگه گوشی یا شبیه ساز باشه فرقی نمیکند.
-p <نام محصول یا مسیر آن >
یک نام ساده محصول مثل 'sooner' و یا یک مسیر نسبی یا مطلق به فولدر خروجی یک محصول مانند 'out/target/product/sooner' ؛ اگر این دستور دقیقا مشخص نشود ، ANDROID_PRODUCT_OUT به عنوان مسیر شناخته میشود که یک مسیر مطلق است .
devices
نام تمام دستگاه های متصل را لیست میکند
-------------------------------------------------
دستورات مخصوص دستگاه ها
adb push <مبداء> <مقصد>
کپی کردن فایل یا فولدر به دستگاه
adb pull <مقصد> <مبداء>
کپی کردن فایل یا فولدر از دستگاه
adb sync [ <یک مسیر > ]
کپی از کامپیوتر به گوشی فقط در صورتی که تغییرات بوجود آمده باشد
adb shell
اجرای Shell مقصد به صورت قردادی ( تعاملی )
adb shell <دستور مورد نظر>
اجرای یک دستور در Shell مقصد
adb emu <دستور مورد نظر>
اجرای دستور در برنامه شبیه ساز
adb logcat [ <*****-مشخصات> ]
دیدن فایل اطلاعات دستگاه
adb forward <مبداء> <مقصد>
ارسال یک اتصال از راه سوکت ها به صورت :
tcp:<پورت>
localabstract:<نام سوکت یونیکس>
localreserved:<نام سوکت یونیکس>
localfilesystem:<نام سوکت یونیکس>
dev:<کاراکترهای نام دستگاه>
jdwp:<روند PID > (فقط برای مقصد)
adb jdwp
نمایش همه PID های یک عملیات در یک انتقال JDWP
adb install [-l] [-r] <فایل مورد نظر >
ارسال فایل موردنظر به دستگاه و نصب آن
[l-] یعنی فرستان برنامه به صورت قفل شده
[r-] یعنی اگر به نصب دوباره است اظلاعات آن حفظ شوند
adb uninstall [-k] <پکیج>
از نصب خارج کردن پکیج موردنظر
[k-] یعنی فولدرهای Cache و Data باقی بمانند
adb bugreport
برگردان همه اطلاعات از دستگاه که شاید شامل اطلاعات یک خطا باشد
adb help
همین لیستی که در حال توضیح دادنش هستیم را ظاهر میکند
adb version
شماره ورژن را نشان میدهد
--------------------------------------------------
دستورات مربوط به اطلاعات (DATAOPTS)
بدون پسوند یعنی پارتیشن Data دست نخورده باقی میماند
w- یعنی پارتیشن Data کلا پاک شود
r- یعنی پارتیشن Data از اول ساخته شود
دستورت برنامه نویسی
adb wait-for-device
انتظار برای دستگاه تا آنلاین شود
adb start-server
از اینکه سروری در حال اجراء است اطمینان حاصل میکند
adb kill-server
اگر سرور در حال کار است ، کار آن را متوقف میکند
adb get-state
اطلاعات offline | bootloader | device را نمایش میدهد
adb get-product
اطلاعات دستگاه را نمایش میدهد
adb get-serialno
شماره سریال دستگاه را نمایش میدهد
adb status-window
به طور پیوسته اطلاعات وضعیت یک دستگاه خاص را نمایش میدهد
adb remount
اطلاعات خواندن و نوشتن روی پارتیشن system دستگاه را کنترل میکند
--------------------------------------------------
دستورات شبکه
adb ppp <tty> [پارامترها]
اجرای PPP بروی USB
-نکته : شما نباید یک اتصال PDP را اتوماتیک اجرا کنید
-<tty> : به نوع PPP شما بستگی دارد ؛ برای مثال :
dev:/dev/omap_csmi_tty1
-[پارامترها] : defaultroute,debug, dump, local, notty ,usepeerdns
adb sync نکته :adb sync [ <مسیر موردنظر> ]
فولدر مقصد میتواند به صورت های زیر تعریف شود :
-اگر <مسیر مورد نظر > مشخص نشود ؛ هر دو پوشه system و data آپدیت خواهند شد
-اگر <system > یا <data> مشخص شوند فقط پوشه موردنظر آپدیت خواهد شد.
خوشحال میشم نظرات شما درباره ی این مطلب بدونم\