وقتی در حال گوش دادن به موسیقی مورد علاقه مان هستیم، نمایش همزمان متن آهنگ و هماهنگی آن با آهنگ این تجربه را هزاران بار لذت بخش تر می کند. در این مطلب قصد داریم به معرفی روش هایی برای نمایش متن موسیقی و اضافه کردن متن آهنگ به موزیک پلیر شخصی تان بپردازیم.
اولین روشی که می خواهیم به شما معرفی کنیم استفاده از اپلیکیشن MusicXmatch است. با این اپ می توانید متن آهنگی که در حال گوش دادنش هستید را به طور هماهنگ با صدای خواننده دنبال کنید. تشخیص متن آهنگ نیز با خود اپلیکیشن است، بنابراین هیچ احتیاجی به جستجو برای این کار ندارید. Musixmatch با شروع پخش آهنگ از گوشی شما، متن موسیقی را به صورت خودکار از آرشیوش جستجو می کند.
این نرم افزار آرشیو قدرتمندی دارد اما تمام موزیک های فارسی را پشتیبانی نمی کند، و همچنین برای استفاده از این نرم افزار و نمایش متن موسیقی در آن باید به اینترنت متصل باشید و همچنین گاهی این برنامه فیلتر می شود که به همین جهت باید از فیلترشکن استفاده کنید، این سه مورد آزار دهنده به نظر می رسند. اگر این سه مورد باعث ناراحتی شما می شود شما می توانید از روش بعدی که در پایین توضیح داده شده است برای اضافه کردن متن آهنگ به موزیک پلیر استفاده کنید.
رایگان، زیبا از منظر بصری و مجهز به امکانات کافی؛ این شاید بهترین توصیفی باشد که می توانیم در مورد این موزیک پلیر داشته باشیم. این موزیک پلیر می تواند فرمت های MP3, MP4, MIDI, AAC, FLAC, OGG و بیشتر را پخش کند. مهم ترین چیزی که در LISTENit خودنمایی می کند رابط کاربری خلوت و انیمیشن های نرم و روانش هستند.
امکان ساخت پلی لیست، امکان تغییر تم رنگی، بدون تبلیغات، اکولایزرهای حرفه ای، سوییچ به حالت شب، تعیین تایمر و ابزار سازنده رینگتون هم از دیگر قابلیت های خوب LISTENit هستند که باعث شده اند نتوانیم آن را در دسته موزیک پلیرهای معمولی قرار بدهیم.
از همه این ها بگذریم این موزیک پلیر از لیریک پشتیبانی می کند و شما می توانید تکست و متن آهنگ ها را به این برنامه اضافه و ویرایش کنید، و حتی می توانید در این نرم افزار موسیقی و لیریکس را با هم سینک کنید.
برای اضافه کردن متن آهنگ به موزیک پلیر LISTENit ، هم می توانید خودتان آن لایریکس (Lyrics) را بنویسید، و هم می توانید یک موزیک پخش کنید و با لمس کاور آهنگ گزینه Add Lyrics را بزنید، و سپس Search for Lyrics Online را بزنید و در گوگل متن آهنگ را جستجو کنید، سپس تمام متن آهنگ را کپی و در محیط نرم افزار الصاق یا Paste کنید. پس از این کار شما برای همیشه متن آهنگ را خواهید داشت و به صورت آفلاین هم می توانید متن آهنگ را همزمان با موزیک بخوانید. اگر متن آهنگ هم از هر نظری مشکل داشت می توانید آن را در برنامه ویرایش کنید.
همه لیریک ها در مسیر Intenal storage/LISTENit/Lyrics ذخیره می شوند.
با همه تعریف هایی که از این نرم افزار کردیم، اما اگر از رابط کاربری یا موارد دیگری در این نرم افزار خوشتان نیامد و می خواهید که متن آهنگ را در موزیک پلیر مورد علاقه تان نمایش دهید می توانید از روش زیر استفاده کنید.
اگر موزیک پلیر مورد علاقه تان از قابلیت نمایش لیریکس پشتیبانی نمی کند، لازم نیست آن را کنار بگذارید. شما می توانید با انجام کارهایی متن آهنگ را در موزیک پلیر دلخواهتان به نمایش در آورید و بیشتر از قبل از موزیک پلیرتان لذت ببرید.
برای اضافه کردن متن آهنگ به موزیک پلیر طبق زیرعمل کنید.
1- ابتدا متن آهنگ را در گوگل جستجو کنید و همه آن را کپی کنید.
2- یک فایل با پسوند txt. ایجاد کنید و متن آهنگ را در آن Paste کنید.
3- نام فایلی را که با پسوند txt. ایجاد کرده بودید را تغییر دهید و نام فایل را دقیقا همان نام آهنگ بگذارید و همچنین پسوند آن را به lrc. تغییر دهید به عبارتی دیگر، نام فایل با نام آهنگ باید دقیقا شبیه هم باشند. به عنوان مثال شما می خواهید برای آهنگ Goli.mp3 لیریکس بگذارید، شما باید فایل example.txt را به Goli.lrc تغییر دهید.
4- آهنگ و فایل lrc. باید هر دو در یک پوشه باشند. بنابراین پس از ساخت فایل lrc. آن را به پوشه همان آهنگ منتقل کنید.
5- موزیک پلیر را باز کنید و حالا بیشتر لذت ببرید.
همانطور که در تصویر زیر مشاهده می کنید، ما لیریکس آهنگ را به موزیک پلیر Samsung Music اضافه کردیم و در آن به نمایش درآوردیم.
نکته: شما می توانید از برنامه های ES File Explore, Polaris Office, Notes app, Kingsoft Office برای ساخت فایل های دارای پسوند txt. استفاده کنید.
در پایان اگر بخواهیم جمع بندی در مورد این سه روش داشته باشیم باید گفت که هر یک از این روش ها ویژگی های خاص خودشان را دارند، مثلا در نرم افزار LISTENit شما باید خودتان متن موزیک را پیدا و سپس کپی کنید، اما در Musixmatch پیدا کردن متن آهنگ با خود برنامه است، بنابراین هیچ احتیاجی به جستجو برای این کار ندارید؛ ولی همیشه باید به اینترنت متصل باشید و همچنین ممکن است متن آهنگ شما در آرشیو برنامه موجود نباشد، ولی در LISTENit شما فقط یک بار برای پیدا کردن متن آهنگ از اینترنت استفاده می کنید و بعد از این همیشه به صورت آفلاین می توانید از این نرم افزار استفاده کنید. روش سوم هم کمی پیچیده تر از دو روش قبلی است ولی اگر می خواهید متن آهنگ را در موزیک پلیر دلخواهتان مشاهده کنید چاره دیگری ندارید.
به هر حال هر یک از این روش ها معایب و مزایایی دارند، شما باید با توجه به شرایطتان از روشی که مناسب است برای اضافه کردن متن آهنگ به موزیک پلیر و نمایش آن استفاده کنید.
اپلیکیشن تلگرام قابلیتهای زیادی را در اختیار کاربران خود قرار میدهد، قابلیتهایی که در واتساپ و سایر برنامههای اجتماعی موجود نیستند. یکی از این قابلیتها، ذخیره خودکار تصاویر به داخل حافظهی گوشی است که شاید قصد داشته باشید آن را غیرفعال کنید. در ادامه با ما همراه باشید تا این قابلیت را غیرفعال کنیم.
برخلاف واتس اپ (وقتی که دانلود خودکار غیرفعال باشد، تصاویر را تار میکند) همچنان میتوانید تصاویر تلگرامی را با جزئیات کامل مشاهده کنید.
اگر میخواهد تصاویر را در گالری ذخیره کنید، تصویر را باز کنید و روی سه نقطه در گوشهی بالا سمت راست کلیک کنید و Save to gallery را انتخاب کنید.
نظر شما درباره این آموزش چیست؟ نظرات خود را با ما در میان بگذارید.
تغییر تم در اندروید یکی از کارهایی است در تجربهی کاربری تنوع ایجاد میکند تا محیط گوشی برای کاربر تکراری و خستهکننده نشود. به همین جهت بسیاری از افراد برای تنوع بخشیدن به ظاهر محیط کاربری گوشی خود به استفاده از لانچر و آیکون پک روی میآورند. اما یک لانچر تنها صفحهی اصلی و منوی اپلیکیشنها را تغییر میدهد و آیکون پک تنها ظاهر آیکون برنامهها را عوض میکند. به علاوه، برخی لانچرها فضای زیادی روی رم گوشی اشغال میکنند. بنابراین، حالت ایدهآل برای استفاده از تم این است که اولا تنوع بخشیدن در ابعاد وسیعی انجام گیرد و بخشهای مختلفی مثل تنظیمات، پنل نوتیفیکیشن، انیمیشن بوت و... را شامل شود؛ ثانیا، فضایی روی رم گوشی اشغال نکند.
خوشبختانه، این امکان در اندروید ۸ به کمک افزونهی اندرومدا و اپلیکیشن Substratum فراهم شده است.
لازم است در ابتدا دو اپلیکیشن را روی گوشی خود نصب کنید. ابتدا اپلیکیشن مدیریت تم ساباستریتم و سپس افزونهی اندرومدا را از لینکهای زیر دریافت و نصب کنید.
در نهایت، نرمافزار اندرومدا را که برای هر سه سیستمعامل ویندوز، مک و لینوکس در دسترس است، از اینجا دانلود و نصب کنید. اگر کاربر ویندوز یا لینوکس هستید فایل زیپ دانلودشده را استخراج کنید؛ اما اگر از مک استفاده میکنید فابل dmg. را به همان حالت رها کنید.
در این قسمت ابتدا باید یواسبی دیباگینگ را از دولوپر آپشنز فعال کنید. توجه داشته باشید که این اندرومدا هیچ ارتباطی با سیستمعاملی که ممکن است نام آن را در اخبار و شایعات شنیده باشید ندارد. برای فعال کردن یواسبی دیباگینگ مراحل زیر را دنبال کنید.
۱. وارد منوی Settings در گوشی خود شوید.
۲. در انتهای منو وارد System شوید.
۳. روی About phone بزنید.
۴. در قسمت پایین Build number را پیدا کنید و هفت مرتبه روی آن بزنید تا پیغام !You are now a developer مواجه شوید.
۵. به منوی تنظیمات برگردید. قسمت جدیدی با عنوان Developer options را مشاهده خواهید کرد.
۶. وارد دولوپر آپشنز شوید. ممکن است لازم باشد پسورد گوشی خود را وارد کنید.
۷. قسمت USB debugging را پیدا و فعال کنید.
۸. اپلیکیشن اندرومدا را در گوشی خود اجرا کنید. در وضعیت اتصال Disconnected را مشاهده خواهید کرد.
۹. گوشی خود را با استفاده از کابل یواسبی به رایانه وصل کنید.
۱۰. در این مرحله باید برنامهی اندرومدا را روی رایانه اجرا کنید. نحوهی اجرای این برنامه در سیستمعاملهای مختلف متفاوت است.
در رایانه، فایل start_andromeda.bat را اجرا کنید. ممکن است در این مرحله از شما مجوزهای administrator خواسته شود. در این صورت پیغام آن را تأیید کنید تا cmd اجرا شود. اینتر را بزنید. با این کار، تعداد زیادی دستور adb بهصورت خودکار ارسال خواهند شد. این دستورها شرایط را برای افزونهی اندرومدا مهیا میکنند تا بتواند بهطور مستقل و بینیاز از رایانه اجرا شود.
روی AndromedaClient.app کلیک کنید. برنامه از شما میخواهد که دیسک ایمیج اندرومدا را انتخاب کنید. روی continue کلیک کنید. سپس، وقتی فایل بروزر ظاهر شد در فهرست Devices دنبال Andromeda بگردید، آن را انتخاب کنید و Continue را بزنید.
روی اسکریپت start_andromeda.sh کلیک کنید. پنجرهی ترمینال ظاهر خواهد شد و تعدادی دستور مشابه نسخهی ویندوز به اجرا در میآیند.
***
پس از اجرای کلاینت دسکتاپ اندرومدا، اپلیکیشن ساباستریتم بهسرعت روی گوشی شما اجرا میشود. اگر این اتفاق بیفتد، یعنی اسکریپت بهدرستی کار کرده است و شما میتوانید بدون روت و بدون اتصال به رایانه تم گوشی خود را عوض کنید. برای اطمینان از اینکه اندرومدا بهدرستی عمل کرده است، اپلیکیشن آن را مجددا باز و وضعیت اتصال را بررسی کنید. در صورتی که همه چیز درست باشد، این بار پیغام سبزرنگ Connected را مشاهده خواهید کرد.
مشاهدهی این حالت به این معنی است که سرویس اندرومدا در گوشی شما فعال و در حال اجرا است. در صورت ریستارت کردن گوشی، این سرویس غیر فعال میشود و باید برای فعالسازی مجدد آن از رایانه کمک بگیرید و مراحل فوق را مجددا انجام دهید؛ اما جای نگرانی نیست؛ زیرا تمی که قبل از ریستارت تنظیم کردهاید از بین نخواهد رفت و به حالت قبل برنمیگردد.
قبل از هر کار باید تمهای مخصوص ساباستریتم را پیدا کنید. برای این منظور وارد گوگل پلی شوید و substratum را جستجو کنید. تمهایی را که در توضیح آنها پشتیبانی از ساباستریتم یا OMS آمده است، پیدا و دانلود کنید. دقت کنید تمهایی تحت عنوان legacy یا RRO موجود هستند روی دستگاه شما کار نخواهند کرد.
بهطور مثال، ما به شما طریقهی نصب تم Baltic UI را نشان میدهیم. لطفا توجه کنید که اجباری در استفاده از این تم نیست و شما میتوانید هر تم دیگری را که میپسندید، انتخاب و نصب کنید. بالتیک یوآی صرفا به دلیل رایگان بودن و بهرهگیری از قابلیتهای زیادی از ساباستریتم بهعنوان یک نمونهی خوب انتخاب شده است.
پس از نصب مراحل زیر را برای فعالسازی تم دنبال کنید:
۱. اپلیکیشن ساباستریتم را باز کنید.
۲. در فهرست موجود Baltic UI را انتخاب کنید.
۳. دو روش برای نصب این تم وجود دارد. در روش اول با زدن روی گزینهی اول یعنی all overlays تمام پوستههای موجود را اعمال کنید. در روش دیگر میتوانید تنها پوستههایی را که مایل هستید اعمال شوند انتخاب کنید. برخی گزینهها دارای شخصیسازیهای جزئی نیز هستند. مثلا در قسمت Android system سه بخش برای رنگهای قسمتهای مختلف فریمورک اندروید در نظر گرفته شده است. اگر وارد منوی بازشونده شوید میتوانید از گزینههای موجود، تم را به سلیقهی خود شخصیسازی کنید.
وقتی برنامههایی را که مایل هستید تم روی آنها نصب شود، انتخاب کردید، روی دکمهی موجود در گوشهی پایین صفحه بزنید.
سپس Build&Enable را لمس کنید. صفحهای پیش روی شما قرار گرفت که وضعیت کامپایل و اعمال شدن تمها را نمایش میدهد. پس از مدتی کوتاه، کار به پایان خواهد رسید.
پس از چند ثانیه، تم کامپایل، نصب و اعمال خواهد شد و میتوانید از ظاهر جدید سیستمعامل خود لذت ببرید.
در مواردی که تم مورد پسند شما واقع نشده است یا میخواهید تم دیگری نصب کنید، میتوانید تم اعمالشده را غیر فعال کنید. برای این کار لازم است اقدامات زیر را انجام دهید.
۱. به صفحهی اصلی ساباستریتم بروید و در فهرست کناری به Recovery بروید.
۲. روی Restore Theme بزنید.
۳. در این مرحله میتوانید تنها قسمتی که نمیپسندید یا کل تم را غیر فعال کنید. انتخاب گزینهی disable، تم شما را کامپایل شده و نصبشده باقی میگذارد و صرفا آن را غیر فعال میکند. گزینهی Uninstall، تم را ضمن غیر فعال کردن، کاملا از گوشی شما پاک میکند. استفاده از هر دو گزینه برای غیر فعال کردن یک تم جوابگو خواهد بود.
به لطف متن باز بودن سیستمعامل اندروید، همیشه بعد از ارائهی نسخهای از آن توسط گوگل، کد منبع یا سورس کد آن نسخه توسط گوگل در قالب AOSP منتشر میشود. درست در همین زمان است که توسعهدهندگان اقدام به دانلود و شخصیسازی این کدها میکنند. LineageOS که برای آشنایی بیشتر با آن میتوانید به این مطلب مراجعه کنید، نام یکی از رامهایی است که توسط یک تیم نخبه و مجرب توسعه داده میشود و همواره برای اینکه بتوانید آخرین نسخهی اندروید را روی گوشی نسبتا قدیمی خود داشته باشید، میتوانید روی آن حساب کنید. بسیاری از کاربران گوشیهای جدید که اندروید خالص را به پوستههای شرکتهای مختلف ترجیح میدهند نیز فارغ از نسخهی اندروید رام اصلی، سراغ این رام کاستوم میروند تا اندروید خالص و سبک را تجربه کنند. به کمک آموزشی که در این مقاله از سری مقالات آموزشی تقدیم حضور شما میشود، قادر خواهید بود پس از دانلود و نصب موارد لازم، رام LineageOS را از کد منبع آن برای گوشی خود بسازید و به اصطلاح بیلد یا کامپایل کنید.
به خاطر داشته باشید، همواره انجام چنین امور تخصصی با درصدی از ریسک همراه است که مسئولیت آن فقط و فقط متوجه خود شما است؛ اگر تمامی مراحل را بهدرستی پشت سر بگذارید، میتوانید از لذت کار با رام دستساز خود بهرهمند شوید. هنگامی که بهتدریج در این کار حرفهای شوید، میتوانید ویژگیهایی به رامهای مختلف اضافه کنید، رفع مشکل کنید، زبان اضافه کنید و حتی با آنچه در خصوص بیلد کردن فرا گرفتهاید، اپلیکیشنهای متن باز را از کد منبع بیلد کنید یا از رامهای مختلف پورت کنید.نمیتوان گفت که دقیقا برای انجام این کار و استفاده از آموزش پیش رو چقدر مهارت و تجربه لازم است. اگر قصد دارید با استفاده از این آموزش برای گوشی خود رام بیلد کنید، لازم نیست یک توسعهدهندهی باتجربه باشید؛ ولی با مبانی ابتدایی اندروید آشنا باشید. ما در زومیت سعی کردهایم هر آنچه بهعنوان یک کاربر اندروید برای ساخت رام LineageOS لازم دارید، قدم به قدم برای شما فراهم آوریم؛ با این حال، از آنجایی که تجربه، دانش قبلی و هوش و ذکاوت افراد متفاوت است، شاید عدهای بهراحتی به نتیجه برسند و عدهای با مشکلات عدیده روبهرو شوند.
اندروید سیستمعامل متن باز محسوب میشود که برای دستگاههای متنوعی در دسترس است. هدف اصلی اندروید ایجاد و ارائهی یک پلتفرم نرمافزاری باز است که اپراتورها، تولیدکنندهها و توسعهدهندهها بتوانند با استفاده از آن، ایدههای خلاقانهی خود را به واقعیت تبدیل کنند و در نتیجه یک محصول موفق را در زمینهی تجربهی کاربری عرضه کنند. نتیجهی متن باز بودن، ارائهی محصولی متناسب با سلیقهی کاربر است که توسعهدهندگان امکان تغییر کدها و شخصیسازی آن را نیز دارند؛ بنابراین، اندروید اساسا این اجازه را به شما میدهد که بدون محدودیت در کدهای آن دخل و تصرف کنید و آنها را به میل خود تغییر دهید و شخصیسازی کنید.
منظور از رام اندروید همان فرمور یا سیستمعامل اندروید است. در واقع نوع رام تعیین میکند که گوشی شما رابط کاربری Sense UI داشته باشد یا MIUI یا EMUI و.... رام، کرنل لینوکس و افزونههای دیگری را نیز در خود جای داده است که به عملکرد دستگاه کمک میکنند.
بهطور کلی یک رام اندروید موارد زیر را شامل میشود:
کرنل مهمترین بخش اندروید و اساسا هر سیستمعاملی است. میتوانید کرنل را پُلی از اپلیکیشنها به سمت سختافزار دستگاه تصور کنید. دستگاههای اندرویدی از کرنل لینوکس استفاده میکنند؛ اما این دقیقا همان کرنلی نیست که سایر سیستمهای عامل لینوکسی استفاده میکنند. کدهای بسیاری در کرنل اندروید وجود دارند که مختص اندروید هستند. توسعهدهندگان گوگل وقت زیادی صرف این کدها میکنند. سازندگان پردازندهها نیز باید در ساخت کرنل همکاری کنند؛ چرا که باید درایورهای مخصوص تراشهی خود را در کرنل جای دهند. به همین دلیل است که بعد از انتشار نسخهی جدیدی از اندروید، توسعهدهندگان مستقل به کمی زمان برای راهاندازی نسخهی جدید با کرنل موجود نیاز دارند. درایورهایی که مثلا برای کار با کرنل اندروید کیتکت نوشته شدهاند، لزوما روی کرنل اندروید لالیپاپ بهدرستی کار نخواهند کرد. این نکتهی مهمی است؛ زیرا وظیفهی اصلی کرنل، کنترل سختافزار است. تمام کدهایی که هنگام بیلد یک کرنل مشاهده میکنید، در واقع نقش واسط بین نرمافزار و سختافزار گوشی شما را بازی میکنند؛ بنابراین، هر درخواستی که از گوشی خود دارید، ابتدا به کرنل فرستاده و سپس اجرا میشوند.
بوتلودر در واقع کدی است که قبل از اجرای هر سیستمعاملی عمل میکند. بوتلودرها دستورالعملهای اجرای کرنل سیستمعامل را ارسال میکنند. میتوانید بوتلودر را به منزلهی یک ایست بازرسی برای کلیهی پارتیشنها تصور کنید. بوتلودر معمولا بسته است؛ چرا که اگر باز باشد و شما بتوانید در پارتیشنهای مختلف دخل و تصرف کنید، امکان دارد به گوشی صدمه بزنید. پس، بوتلودر اساسا به کرنل دستگاه شما دستور میدهد که سیستم را بهدرستی بوت کنید و بالا بیاورد.
به زبان ساده، ریکاوری بهعنوان مرجعی برای پشتیبانگیری یا برگرداندن اوضاع به حالت قبل است. هر زمان فرمور گوشی شما دچار نقص شود، ریکاوری شما را در حل مشکل و بازگردانی آن به حالت قبل یاری خواهد کرد. همچنین، از ریکاوری برای فلش کردن رام، کرنل و... استفاده میشود. معروفترین و رایجترین ریکاوری کاستوم موجود در حال حاضر TWRP است.
پایینترین لایهی نرمافزاری در رام، رادیو است. یعنی بهمحض روشن شدن گوشی، اولین چیزی که حتی قبل از بوتلودر اجرا میشود رادیو است. رادیو تمام اتصالات بیسیم، جیاسام و جیپیاس و... را کنترل میکند.
در صورتی که قبلا adb و فستبوت را نصب نکردهاید، میتوانید آنها را از وبسایت گوگل دریافت و با استفاده از دستور زیر استخراج کنید.
unzip platform-tools-latest-linux.zip -d ~
حالا باید adb و فستبوت را به مسیر کار خود منتقل کنید. برای این منظور profile./~ را باز و دستور زیر را وارد کنید.
# add Android SDK platform tools to path
if [ -d "$HOME/platform-tools" ] ; then
PATH="$HOME/platform-tools:$PATH"
fi
سپس برای بهروزرسانی محیط خود source ~/.profile را اجرا کنید.
برای بیلد رام لاینج به چند بستهی نرمافزاری نیاز است. میتوانید این بستهها را از طریق قسمت package manager در توزیع لینوکس خود نصب کنید.
نکته: پکج منجر در لینوکس، سیستمی برای نصب و حذف نرمافزار است. نرمافزاری که معمولا از اینترنت گرفته و در رایانهی شما نصب میشود. چنانچه از اوبونتو استفاده میکنید، میتوانید از Ubuntu Software Center استفاده کنید. راه بهتر، استفاده از دستور نصب apt-get install بهصورت مستقیم در خود ترمینال است.
برای لاینج به موارد زیر نیاز دارید:
bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
برای اوبونتوهای قدیمیتر از نسخهی ۱۶.۰۴ جایگزینی زیر را انجام دهید.
libwxgtk3.0-dev → libwxgtk2.8-dev
نسخههای مختلف لاینج اواس نیاز به نسخههای مختلف JDK یا کیت برنامهنویسی جاوا دارند.
لاینج اواس | کیت جاوای مورد نیاز | دستور نصب |
---|---|---|
نسخههای ۱۴.۱ تا ۱۵.۱ | OpenJDK 1.8 | openjdk-8-jdk |
نسخههای ۱۱ تا ۱۳ | OpenJDK 1.7 | openjdk-7-jdk |
لازم است در محیط بیلد خود چند مسیر ایجاد کنید. برای ساخت این دایرکتوریها دستورات زیر را وارد کنید:
mkdir -p ~/bin
mkdir -p ~/android/lineage
دایرکتوری bin/~ مخزن یا ریپازیتوری (repo) شما را شامل خواهد شد و دایرکتوری android/lineage/~ سورس کد لاینج را در بر میگیرد.
دستور زیر را برای دانلود باینری ریپو و قابل اجرا کردن آن وارد کنید.
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
دایرکتوری bin/~ را در مسیر اجرا قرار دهید.
در نسخههای اخیر اوبونتو bin/~ باید خود به خود در مسیر کار شما قرار داشته باشد. میتوانید این مسئله را باز کردن profile./~ توسط یک ویرایشگر متن بررسی کنید و ببینید که آیا کد زیر در آن وجود دارد یا خیر. در صورت عدم وجود، میتوانید آن را اضافه کنید.
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
سپس دستور source ~/.profile را برای بهروزرسانی محیط اجرا کنید.
از آنجایی که هنوز رام ۱۵.۱ برای بسیاری از دستگاهها بهصورت رسمی منتشر نشده است، در اینجا نسخهی ۱۴.۱ را مثال میزنیم. پس برنچ یا شاخهی مورد نظر ما cm-14.1 خواهد بود و کدی که باید وارد کنیم به شکل زیر است؛ اما دقت کنید شما نام شاخهی مورد نظر خود را وارد کنید.
cd ~/android/lineage
repo init -u https://github.com/LineageOS/android.git -b cm-14.1
برای بارگذاری سورس کد در رایانهی خود از کد زیر استفاده کنید.
repo sync
مانیفست LineageOS بهصورت پیشفرض تنظیماتی منطقی دارد و توصیه میشود آن را تغییر ندهید. مثلا مقادیر 4 j- و c- یکی نشاندهندهی شاخههای اتصال همزمان و دومی برای این است که صرفا شاخهی مورد نظر همگامسازی شود، نه تمام شاخههای موجود در گیتهاب لاینج. تنها در صورتی که در همگامسازی دچار مشکل هستید، میتوانید مقدار 4 j- را به 3 j- و 2 j- کاهش دهید.
بعد از دانلود سورس کد، مطمئن شوید که در روت یا مسیر اصلی سورس کد هستید. کد cd ~/android/lineage هر جا که باشید شما را به مسیر اصلی خواهد برد. حال دستور زیر را تایپ کنید:
source build/envsetup.sh
breakfast codename
به جای codename باید کدنام مخصوص دستگاه خود را وارد کنید. دستور فوق که به آن برکفست میگویند، تغییرات مختص دستگاه شما و کرنل آن را دانلود خواهد کرد. اگر از کدنام دستگاه اندرویدی خود اطلاع ندارید میتوانید در اینترنت آن را جستجو کنید. در جدول زیر کدنام تعدادی از دستگاههای اندرویدی فهرست شده است. برای مشاهدهی سایر کدنامها میتوانید به این صفحه مراجعه کنید.
نام دستگاه | کدنام | نام دستگاه | کدنام |
---|---|---|---|
نکسوس ۴ | mako | موتورولا موتو Z | griffin |
نکسوس 5 | hammerhead | وان پلاس ۳ و 3T | oneplus3 |
نکسوس 5X | bullhead | وان پلاس ۵ | cheeseburger |
نکسوس 6 | Shamu | وان پلاس 5T | dumpling |
اچتیسی وان M8 | m8 | سامسونگ گلکسی نوت ۳ جهانی | i9300 |
اچتیسی وان m8 dual | m8d | سامسونگ گلکسی اس ۶ | zerofltexx |
آنر 5X | kiwi | سونی اکسپریا V | tsubasa |
الجی جی ۳ نسخهی جهانی | d855 | اکسپریا Z | yuga |
الجی جی ۴ نسخهی جهانی | h815 | شیائومی می 5 | gemini |
الجی جی ۵ نسخهی جهانی | h850 | ردمی نوت ۳ پرو | kenzo |
موتورولا موتو G | falcon | ردمی نوت ۴ کوالکام | mido |
موتورولا موتو X | ghost | زدتیای اکسون ۷ | axon7 |
برای استخراج این فایلها دو حالت وجود دارد. حالت اول این که برای اولین بار است که قصد بیلد رام لاینج برای یک گوشی را دارید. در حالت دوم گوشی شما در حال اجرای آخرین نسخه از LineageOS از همان شاخهای است که قصد بیلد آن را دارید.
در صورتی که برای اولین بار برای دستگاهی رام LineageOS میسازیم باید بلابها را از یک رام زیپشده استخراج کنیم.
قبل از شروع لازم است تفاوت بین بستهی OTA از نوع بلوکبنیان و OTA از نوع پوشهبنیان را بدانید. در رام پوشهبنیان، محتوای پارتیشن سیستم در فولدری زیپ با نام system وجود دارد. در رام بلوکبنیان محتوای پارتیشن سیستم در یک فایل به شکل دادهی باینری ذخیره شده است. اگر رام زیپشدهی شما هیچ فولدری به نام system ندارد (یا داخل فولدر سیستم آن خالی است) و فایلی به نام system.transfer.list در روت رام شما وجود دارد، OTA از نوع بلوکبنیان است. از سوی دیگر، چنانچه پوشهی system با تمام محتویات آن را مشاهده میکنید و خبری از system.transfer.list نیست، رام از نوع پوشهبنیان است.
به کمک دستورهای زیر یک دایرکتوری موقت ایجاد کنید و به مسیر آن بروید.
mkdir ~/android/system_dump/
cd ~/android/system_dump/
با دستور زیر system.transfer.list و system.new.dat را از رام زیپشده استخراج کنید.
unzip path/to/lineage-*.zip system.transfer.list system.new.dat
دقت کنید باید بعد از /path/to نام رام زیپشده را وارد کنید.
حال باید برای تبدیل کردن رام بلوکبنیان به دامپی که بتوان آن را مانت کرد از sdat2img استفاده کنید. این اسکریپت در گیتهاب موجود است. برای کلون کردن آن از دستور زیر استفاده کنید.
git clone https://github.com/xpirt/sdat2img
وقتی sdat2img را به دست آوردید، به کمک دستور زیر از آن برای استخراج ایمج سیستم استفاده کنید.
python sdat2img/sdat2img.py system.transfer.list system.new.dat system.img
حال باید فایلی تحت عنوان system.img داشته باشید. با دستور زیر مسیری برای آن بسازید و محتویات سیستم را در آن مانت کنید.
mkdir system/
sudo mount system.img system/
بعد از این کار به دایرکتوری روت یا اصلی کدهای دستگاه خود بروید و extract-files.sh را اجرا کنید.
./extract-files.sh ~/android/system_dump/
این دستور به extract-files.sh خواهد گفت که فایلها را به جای گوشی از دامپ مانتشدهی سیستم بگیرد.
پس از اینکه تمام فایلهای مخصوص گوشی خود را استخراج کردید، با دستورهای زیر دامپ سیستم را آنمانت کنید و فایلهایی را که دیگر به آنها نیاز ندارید پاک کنید.
sudo umount ~/android/system_dump/system
rm -rf ~/android/system_dump/
به کمک دستورهای زیر یک دایرکتوری موقت ایجاد کنید و به مسیر آن بروید.
mkdir ~/android/system_dump/
cd ~/android/system_dump/
فولدر system را با دستور زیر از رام استخراج کنید.
unzip path/to/lineage-*.zip system/
دقت کنید باید بعد از /path/to نام رام زیپشده را وارد کنید.
بعد از این کار به دایرکتوری روت یا اصلی کدهای دستگاه خود بروید و extract-files.sh را با دستور زیر اجرا کنید.
./extract-files.sh ~/android/system_dump/
این دستور به extract-files.sh خواهد گفت که فایلها را به جای گوشی از دامپ مانتشدهی سیستم بگیرد.
پس از اینکه تمام فایلهای مخصوص گوشی خود را استخراج کردید، با دستورهای زیر دامپ سیستم را آنمانت کنید و فایلهایی را که دیگر به آنها نیاز ندارید پاک کنید.
rm -rf ~/android/system_dump/
گوشی خود را با کابل یواسبی به رایانه وصل کنید. گوشی باید روت باشد، adb فعال باشد و شما در مسیر فایلهای اختصاصی گوشی خود یعنی /android/lineage/vendor/device/your_device/codename/~ هستید. extract-files.sh را اجرا کنید.
./extract-files.sh
حال بلابها باید در فولدر /android/lineage/vendor/device/your_device/codename/~ بارگیری شده باشند. در خط فوق your_device نام شرکت سازندهی گوشی شما و codename کدنام آن خواهد بود. چنانچه خطاهایی با مضمون command not found مشاهده کردید، ممکن است لازم باشد adb در bin/~ قرار داده شود.
با اجرای دستور زیر میتوانید ccach را برای بیلدهای آتی فعال کنید.
export USE_CCACHE=1
دستور فوق را به فایل bashrc. /~ خود وارد کنید و سپس با دستور زیر بیشینهی فضایی را که میخواهید در سیستم خود به کشگذاری اختصاص دهید مشخص کنید.
ccache -M 50G
در خط فوق 50G به معنی پنجاه گیگابایت است. این دستور را فقط برای بار اول اجرا کنید و مقدار را چیزی بین ۲۵ تا ۱۰۰ گیگابایت انتخاب کنید. این کار سرعت بیلد را بهطرز قابل توجهی افزایش میدهد؛ بهطور مثال روند بیلدی که در یک ساعت پایان میپذیرد، در صورت فعالسازی کشگذاری طی ۲۰ دقیقه به اتمام میرسد. اگر فقط برای یک دستگاه رام میسازید، ۲۵ تا ۵۰ گیگابایت فضا مناسب خواهد بود؛ اما در صورتی که برای چند دستگاه که سورس کرنل مشترکی ندارند، رام بیلد میکنید، بهتر است مقداری بین ۷۵ تا ۱۰۰ گیگابایت را تعیین کنید. توجه داشته باشید که این فضا بهطور مستمر روی درایو شما اشغال خواهد شد.
همچنین میتوانید فشردهسازی کش را فعال کنید تا تعداد فایلهای بیشتری در فضای شما جا بگیرند. هرچند این کار کمی سرعت را پایین خواهد آورد. برای فعال کردن فشردهسازی کش از دستور زیر استفاده کنید یا آن را به bashrc. /~ اضافه کنید.
export CCACHE_COMPRESS=1
جک در حال حاضر ابزار بیلد یا کامپایلر LineageOS نسخهی ۱۴.۱ به بالا است. اگر این ابزار را بهدرستی تنظیم نکنید، خطای کمبود حافظه خواهد داد. حل این مشکل با اضافه کردن خط زیر به فایل bashrc. /~ صورت میگیرد.
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
در خط فوق 4G در انتهای خط به معنی ۴ گیگابایت است و در واقع این دستور به جک میگوید که تنها از ۴ گیگابایت حافظه برای بیلد استفاده کن.
وقت آن رسیده است که بیلد رام را آغاز کنید. برای این کار دستور زیر را با تغییر codename به کدنام گوشی خود، وارد کنید.
croot
brunch codename
با این کار بیلد رام لاینج برای دستگاه شما آغاز خواهد شد. در صورتی که ساخت رام بدون خطا انجام گیرد و بیلد پایان یابد، میتوانید برای دسترسی به رام و ریکاوری بیلد شده دستور زیر را وارد کنید.
cd $OUT
فایل recovery.img ریکاوری LineageOS و فایل زیپی که نام آن با lineage-14.1 آغاز شده است، رام لاینج او اس شما خواهد بود که میتوانید با ریکاوری TWRP آن را روی دستگاه خود فلش کنید. برای نصب رام لاینج روی گوشی خود، میتوانید از این آموزش استفاده کنید.
امیدواریم از این مقاله استفادهی کافی را برده باشید و بهزودی به جمع توسعهدهندگان اندروید اضافه شوید تا از دنیای نامتناهی اندروید به سلیقهی خود لذت ببرید. به خاطر داشته باشید دنیای اندروید آنقدر وسیع است که هر زمان که با خطایی مواجه شدید، میتوانید با جستجوی آن در گوگل راه حل مشکل خود را پیدا کنید. همچنین برای حرفهایتر شدن و آشنایی با مفاهیمی چون گیت و گیتهاب پیشنهاد میکنیم این مقاله را از دست ندهید. با آرزوی موفقیت، لطفا نظرات خود را در بخش دیدگاهها با ما به اشتراک بگذارید.
پروژهی تربل در واقع بهبود چشمگیری است که گوگل در سیستم بهروزرسانی نرمافزاری به وجود آورده است. با مطالعهی این مطلب خواهید آموخت که چطور رام اندروید خالص AOSP را روی گوشیهایی که از تربل پشتیبانی میکنند نصب کنید.
اندروید ۸.۰ اوریو فهرست عظیمی از تغییرات را برای دستگاههای اندرویدی با خود به همراه دارد. بهبودها و قابلیتهای جدیدی که با هدف ارائهی تجربهی کاربری بهتر و سریعتر به سیستمعامل اندروید اضافه شدهاند. یکی از این تغییرات مفید اضافه شدن پروژهی تربل است. قابلیتی که هرچند ممکن است چندان برای کاربران عادی ملموس نباشد؛ اما یکی از بنیادیترین تغییرات از نگاه جامعهی توسعهدهندگان رامهای کاستوم به حساب میآید. در ادامهی این مطلب از سری مطالب آموزشی به اهمیت پروژهی تربل و ویژگی آن برای کاربران رامهای کاستوم خواهیم پرداخت و در نهایت خواهید دید چطور میتوان جدیدترین نسخهی رام خالص اندروید را روی گوشیهایی که از تربل پشتیبانی میکنند نصب کرد.
اکنون در دورهای قرار داریم که رامهای کاستوم یا سفارشیشده و غیر رسمی تأثیر شگرفی بر کاربری درصد بالایی از کاربران اندروید دارند؛ چرا که در بسیاری از مواقع مخصوصا زمانی که شرکت سازنده، پشتیبانی نرمافزاری خود را قطع کرده است، کاستوم رامها تنها راه برای نصب آخرین نسخهی اندروید و تجربهی آن برای کاربران به شمار میآیند؛ اما این کار چندان ساده هم نیست. برای اجرای یک رام کاستوم، مخصوصا با نسخهی اندروید بالاتر از آنچه بهطور رسمی موجود است، توسعهدهندگان باید تغییراتی در سورس کد کرنل دستگاه به وجود بیاورند تا رام مورد نظر در آن دستگاه اجرا شود. این کار واقعا زمانبر است؛ زیرا توسعهدهندگان مجبور هستند منتظر بمانند تا سازندهی پردازندهی آن دستگاه درایورها یا بلابهای مختص پردازنده برای آن نسخه از اندروید را منتشر کند که این موضوع باعث تأخیر در روند کار میشود. همین موضوع در مورد شرکتهای سازندهی گوشی و تیم نرمافزار آنها نیز صدق میکند و اغلب دلیل دیر ارائه شدن بهروزرسانیهای اندروید توسط شرکتها همین موضوع است.
گوگل در پروژهی تربل بین فریمورک اندروید و کدهای اختصاصی دستگاههای اندرویدی موسوم به بلابها خط کشید و آن دو را از هم تمیز داد. در نتیجه بهروزرسانیهای نرمافزاری دیگر به دلیل عدم ارائهی درایور توسط شرکت سازندهی دستگاه و پردازندهی آن به تأخیر نمیافتند. بنابراین، هر دستگاهی که از تربل پشتیبانی کند، فارغ از اینکه ساخت کدام شرکت است و از چه پردازندهای استفاده میکند، میتواند بهراحتی یک نسخهی واحد و جامع از اندروید AOSP را اجرا کند. اگر دستگاه شما با اندروید ۸.۰ اوریو عرضه شده است، قطعا از تربل پشتیبانی میکند؛ اما در صورتی که با اندروید نسخهی پایینتر مثل نوقا عرضه و سپس به اندروید ۸.۰ اوریو بهروزرسانی شده است، پشتیبانی یا عدم پشتیبانی آن از تربل دقیقا بستگی به شرکت سازندهی گوشی شما دارد که این ویژگی را در بهروزرسانی بگنجاند یا خیر. از آنجایی که اضافه کردن این قابلیت نیازمند پارتیشنبندی مجدد و جدا کردن درایورها از هستهی اندروید است و تیم نرمافزار شرکتها را به زحمت میاندازد، اکثر گوشیهایی که تاکنون به اوریو بهروزرسانی شدهاند از تربل پشتیبانی نمیکنند. علاوه بر این موارد برخی گوشیهایی که از تربل پشتیبانی نمیکردند، به همت توسعهدهندگان بهصورت غیر رسمی این قابلیت را پیدا کردهاند. در زیر فهرستی از کلیهی گوشیهایی که تاکنون اندروید اوریو را دریافت کردهاند به همراه وضعیت پشتیبانی آنها از تربل را شاهد هستید.
همانطور که گفته شد، اینکه پس از بهروزرسانی به اندروید گوشی شما از تربل پشتیبانی کند یا خیر بستگی به شرکت سازندهی گوشی شما دارد؛ چرا که اضافه کردن این قابلیت نیازمند پارتیشن بندی مجدد و جدا کردن درایورها از هستهی اندروید است و تیم نرمافزار شرکت را به زحمت میاندازد. در اینجا میتوانید گوشیهایی که با دریافت بهروزرسانی اندروید اوریو از تربل پشتیبانی میکنند پیدا کنید.
نام دستگاه | بهروزرسانی اوریو | پشتیبانی از تربل | نام دستگاه | بهروزرسانی اریو | پشتیبانی از تربل |
---|---|---|---|---|---|
ایسوس ذنفون ۴ | بله | بله (ولی بدون پارتیشن vendor) | آنر ۸ پرو | بله | بله |
ایسوس ذنفون ۳ | بله | خیر | هواوی پی ۱۰ و پی ۱۰ پلاس | بله | بله |
اسنشال فون PH-1 | بله | بله | اچتیسی U11 | بله | خیر |
گوگل پیکسل وان | بله | بله | اچتیسی ۱۰ | بله | خیر |
گوگل پیکسل وان XL | بله | بله | الجی V30 و +V30 | بله | خیر |
گوگل پیکسل C | بله | خیر | موتورولا موتو زد ۲ فورس | بله | خیر |
گوگل نکسوس 6P | بله | خیر | موتو ایکس ۴ (هر دو ادیشن) | بله | خیر |
گوگل نکسوس 5X | بله | خیر | نوکیا ۸ | بله | خیر |
هواوی میت ۹ | بله | بله | وان پلاس 3 و 3T | بله | خیر |
آنر 7X | بله | بله | وان پلاس 5 و 5T | بله | بله |
سامسونگ گلکسی S8 و +S8 | بله | خیر | شیائومی می A1 | بله | خیر |
سونی اکسپریا XZ و XZs | بله | خیر | شیائومی ردمی نوت 4 (اسنپدراگون) | خیر | بله (غیر رسمی) |
سونی XZ Premium | بله | خیر | شیائومی می ۵، می 5s و می ۶ | خیر | بله (غیر رسمی) |
در شرایطی که گوشی شما بهطور رسمی اندروید اوریو را دریافت نکرده است یا بهروزرسانی شما از تربل پشتیبانی نمیکند نیز این امکان وجود دارد که بهصورت غیر رسمی پشتیبانی از تربل برای گوشی شما مهیا شود. البته این کار مستلزم این است که توسعهدهندگان رام دستگاه شما را پارتیشنبندی مجدد کندد و فضایی برای قرار دادن درایورها به نام Vendor آزاد کنند. در مورد گوشیهای شیائومی این اتفاق بهراحتی هر چه تمامتر صورت گرفته است. گوشیهای شیائومی دارای یک پارتیشن اضافه به نام cust هستند که فایلهای مختص رام miui در آن قرار گرفتهاند و در صورت استفاده از رام کاستوم این پارتیشن عملا بیاستفاده میماند. در نتیجه توسعهدهندهها بدون پارتیشنبندی مجدد و با تغییر کاربری این پارتیشن توانستهاند بلابها را به آن منتقل کنند و پشتیبانی غیر رسمی تربل را به دست آورند. همانطور که در جدول فوق شاهد بودید، این اتفاق تاکنون در مورد گوشیهای ردمی نوت ۴، می ۵، می ۵ اس و می ۶ از این شرکت به همت توسعهدهندههای این گوشیها در انجمن XDA صورت گرفته است.
دستگاههای اینچنینی که پارتیشن دوگانه دارند تقریبا از تمام قسمتهای سیستمی دو نمونه را در خود جای میدهند؛ به این معنی که در واقع این دستگاهها دو پارتیشن system، دو پارتیشن boot، دو پارتیشن مودم و... دارند؛ اما وقتی در حال استفاده از گوشی هستید فقط یک اسلات مثلا اسلات A در حال استفاده است. در لحظههای ابتدایی روشن شدن گوشی، بوتلودر به کمک دادههایی به نام BCB یا بخش بررسی بوتلودر تصمیم میگیرد که پارتیشنهای موجود در اسلات A را اجرا کند یا گوشی را با پارتیشنهای اسلات B راهاندازی کند.
وقتی به روزرسانی OTA در دسترس قرار میگیرد، دادههای اسلات در حال استفاده از اسلات آزاد کپی و پچ یا بهروزرسانی میشود. برای مثال، اگر در حال اجرای اسلات A هستید، دستگاه شما بعد از دانلود بهروزرسانی، پارتیشن سیستمی در حال اجرای شما را از اسلات A کپی و بعد از اعمال بهروزرسانی، آن را به اسلات B منتقل میکند. وقتی عملیات کپی و بهروزرسانی کامل شود، BCB بهروز و دستگاه ریبوت میشود و با اسلات B بالا میآید. دفعهی بعد که بهروزرسانی منتشر شود، پارتیشن سیستمی B در A کپی میشود و مجددا BCB بهروز میشود تا دستگاه با اسلات A راهاندازی شود.
سایر گوشیها که تک پارتیشنی هستند و به اصطلاح فقط A نامیده میشوند، سازوکار فوق را ندارند و بهروزرسانیها مستقیما در همان یک پارتیشن اعمال میشوند. شما هنگام دانلود رام باید دقت کنید نسخهی مناسب با سازوکار گوشی خود را دانلود و نصب کنید.
فهرست گوشیهایی که سازگاری آنها رسما توسط ارائهکنندهی این رام AOSP تأیید شده است با نوع پارتیشنبندی آنها در زیر میبینید.
نام دستگاه | نوع پارتیشنبندی |
---|---|
گوگل پیکسل و پیکسل XL | A/B |
اسنشال فون PH-1 | A/B |
هواوی میت ۹ | فقط A |
هواوی آنر ۸ پرو | فقط A |
اچتیسی یو ۱۱ پلاس | A/B |
سونی اکسپریا XZ1 و XZ کامپکت | فقط A |
هواوی میت ۱۰ پرو | فقط A |
آنر ۹ لایت | فقط A |
رام مورد نظر با وجود اینکه به مرحلهی خوبی از پایداری رسیده؛ ممکن است هنوز مشکلات جزئی داشته باشد. تحت هر شرایطی با فلش کردن رام کارخانهای میتوانید گوشی خود را به حالت اول بازگردانید.
توجه داشته باشید نسخههای Vanila کاملا خالص و سایر نسخهها دارای فایلهای ضروری گوگل اپس و پلی استور هستند. از آنجایی که این رام همچنان در حال توسعه است و همواره ممکن است نسخهی جدیدتری ارائه شود، از این لینک آخرین نسخه و تغییرات آن را بررسی کنید.
adb reboot bootloader