انجمنهای فارسی اوبونتو
کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: Silvio Dante در 29 اردیبهشت 1397، 04:14 بظ
-
این روزها یکی از رو اعصاب ترین چیزها برای من این بود که مجبور بودم بخاطر اجرا کردن شبیهساز اندروید درایور انحصاری انویدیا رو نصب کنم. هر دو شبیهساز خود اندروید استودیو و نرم افزار Genymotion نیاز به درایور کارت گرافیک انحصاری دارن. شبیهساز اندروید استودیو که با exit code 1 خارج میشه و جنیموشن رو هم وقتی اجرا میکنی سیستم فریز میشه و هیچ راهی به جز ریستارت کردن سخت افزاری سیستم نداره.
الان بعد از تازه سازی توزیعم رفتم شروع به کار کنم با اندروید استودیو و دیدم شبیهساز ران نمیشه چون درایور انحصاری نصب نکرده بودم !
چون این روزا بعضیا دنبال اینن که اندروید استودیو نصب کنن، سعی میکنم علاوه بر اینکه بگم چجوری میتونین شبیهساز اندروید استودیو رو با درایور آزاد اجرا کنین، یه آموزش کوچیک و کاربردی هم براش بنویسم که به سادگی بتونین نصبش کنین.
اول به این سایت (https://developer.android.com/studio/) برین و فایل فشردهی اندروید استودیو رو دانلود کنین.
اگر اوبونتو دارین این بستهها رو نصب کنین:
sudo apt install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
اگر دبیان دارین اینها رو نصب کنین:
sudo apt install libc6-i386 libncurses5 libc6 libstdc++6 lib32z1 libbz2-1.0
و اگر آرچ دارین اول مخزن multilib رو فعال کنین و بعد این بستهها رو نصب کنین:
sudo pacman -S lib32-glibc lib32-ncurses lib32-libstdc++5 lib32-zlib lib32-bzip2
حالا فایل فشردهی اندروید استودیو که دانلود کرده بودین رو از حالت فشرده در بیارین بعد از این کار صاحب یه پوشهی به اسم android-studio یا یه چیزی شبیه همین میشین. اون پوشه رو به دایرکتوری /usr/local منتقل کنین.
با فرض اینکه پوشهی android-studio توی هوم یوزر شماست میتونین از این دستور برای این انتقال استفاده کنین:
sudo mv ~/android-studio/ /usr/local
اگر از قبل SDK ها رو هم دانلود کردین بزارینشون توی دایرکتوری /opt. مثلا مال من اینجاست:
/opt/AndroidSDK/Sdk
اگر هم SDK از قبل دانلود نکردین و ندارین مشکلی نیست با خود اندروید استودیو میتونین دانلودش کنین. (جلوتر بهش میرسیم.)
قبل از اجرا کردن اندروید استودیو یه نکتهای رو باید بگم اونم اینه که اندازهی دایرکتوری /tmp معمولا نصف رم شماست و اگر احساس میکنین SDK ها و ابزارهای زیادی از داخل خود اندروید استودیو میخواین دانلود کنین باید مقدارش رو افزایش بدین. چون اندروید استودیو اطلاعاتی که داره دانلود میکنه رو داخل دایرکتوری /tmp ذخیره میکنه و بعد از اینکه نصبشون کرد، از /tmp پاکشون میکنه. مثلا من حدود 13 گیگابایت SDK و شبیهساز و یه سری ابزار دیگه دانلود کردم و اندازهی /tmp من 4 گیگابایت بود که هر دفعه به ارور میخوردم ! اگر فکر میکنین SDK ها و چیزهای دیگهای که میخواین توی اندروید استودیو دانلود کنین حجمش بیشتر از نصف رمتون میشه، برای جلوگیری از رسیدن به همچین ارورهایی کافیه حجم دایرکتوری /tmp رو با استفاده از این دستور افزایش بدین (مثلا اینجا میکنیمش 10 گیگ):
sudo umount /tmp
sudo mount -t tmpfs -o size=10G,mode=1777 overflow /tmp
نکته: توجه کنین بعد از هر بار ریستارت کردن سیستم، اندازهی دایرکتوری /tmp به حالت اولش برمیگرده.
خب بعد از همهی اینها نوبت میرسه به اجرا کردن اندروید استودیو. همونطور که میدونین به لطف دستاوردهای ملی، کشور ایران توسط گوگل تحریمه و این یعنی نمیتونیم SDK ها و ابزارهای دیگهی اندروید استودیو رو به راحتی از داخل خودش دانلود کنیم اما همیشه راههای دور زدن وجود داره! ;) من برای این کار از سرویس Freedom of Developers (https://github.com/backtory/fod) استفاده میکنم که به اندازهی کافی سریعه که با این اینترنت خستهی ما بتونه SDK ها رو دانلود کنه. راه دیگه هم استفاده از تور هست که احتمالا برای استفاده توی گردل مجبورین با استفاده از privoxy ساکس تور رو تبدیل به http کنین. به هر حال اون به عهدهی خودتون من اینجا نحوهی استفاده از fod رو براتون توضیح میدم.
اول اندروید استودیو رو با دستور زیر اجرا کنین:
/usr/local/android-studio/bin/studio.sh
وقتی اندروید استودیو برای اولین بار اجرا شد با همچین صفحهای مواجه میشین، وارد قسمت Settings بشین:
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=147906.0;attach=48243;image)
** نکته: ممکنه اولین بار که اندروید استودیو رو باز میکنین بخواد شروع کنه به دانلود کردن ابزارهای مورد نیازش اما شما کنسل رو بزنین (چون تحریمیم و هنوز تحریم رو دور نزدیم)، تا به این صفحه برسین. احتمالا دفعهی بعد که اندروید استودیو رو باز کنین دوباره اون صفحهی نصب SDK ها بیاد که بتونین از همونجا نصب کنین در غیر این صورت میتونین با استفاده از SDK Manager ابزارهای مورد نیازتون رو نصب کنین.
از قسمت System Settings گزینهی http proxy رو بزنین و دقیقا به این صورت تنظیمش کنین (عکس به روز شد):
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=147906.0;attach=48245;image)
fodev.org:8118
حالا اوکی بزنین و خارج شین. اگر میخواین ابزارهای پیشنهادی اندروید استودیو رو نصب کنین کافیه یه بار ببندینش و بازش کنین تا دوباره شروع کنه به نصب کردن SDK ها و ابزارهایی که خودش پیشنهاد داده. همچنین میتونین تمامی SDK ها و ابزارهای مورد نیاز خودتون رو از قسمت SDK Manager دانلود و نصب کنین.
منطقا بعد از نصب SDK و ابزارهای مورد نظر میتونین شروع کنین به ساختن پروژه و توسعهی برنامههای اندروید! اما این وسط یه مشکلی هست! شبیهساز یا Emulator !
برای راه اندازی شبیهساز، اول از قسمت SDK Manger مطمئن شین که بستهی Android Emulator رو نصب کردین. بعدش با AVD منیجر که توی toolbox اندروید استودیو وجود داره شروع کنین به ساختن یه شبیهساز! مراحل ساختنش خیلی سادهست! اول نوع دستگاه رو انتخاب میکنین، مرحلهی بعدش ایمیج اون نسخه از اندرویدی رو که میخواین رو انتخاب میکنین(و در صورت نیاز میتونین از همونجا دانلودش کنین.) و در نهایت میرسین به همچین صفحهای:
(https://forum.ubuntu-ir.org/index.php?action=dlattach;topic=147906.0;attach=48247;image)
خب اگر میخواین از درایور آزاد که روی سیستمتون به صورت پیشفرض نصبه استفاده کنین کافیه از قسمت Emulated Performance گزینهی Graphics رو دقیقا مثل من (که توی عکس مشخصه) تنظیم کنین. اگر میخواین مقدار رم و چیزهای دیگه رو هم تغییر بدین با گزینهی show advanced settings میتونین این کار رو بکنین. بعدش finish رو بزنین. اگر همه چیز درست باشه منطقا میتونین شبیهسازی که ساختین رو اجرا کنین.
خب نکتهای که این وسط هست اینه که وقتی شبیهساز با این حالت بالا میاد به شدت کنده ! حتی من 8 گیگابایت رم هم براش در نظر گرفتم اما باز هم کند بود! ولی خب تا حد زیادی کار رو راه میندازه و لازم نیست درایور انحصاری نصب کنیم که علاوه بر اینکه آزاد نیست، مشکلاتی رو هم در جاهای دیگه به همراه خودش میاره. (حداقل برای من)
اما اگه از این حالت راضی نبودین کافیه گزینهی Graphics رو روی حالت Auto قرار بدین و با توجه به توزیع خودتون برین درایور کارت گرافیک انحصاری نصب کنین و بعد بیاین شبیهساز رو اجرا کنین. در این حالت با رم بین 2 تا 4 گیگابایت برای شبیهساز سرعت معقولی رو خواهید داشت.
برای ساخت Desktop Entry هم کافیه تو صفحهی خوشآمدگویی اندروید استودیو از قسمت Configure گزینهی Create Desktop Entry رو بزنین یا اگر داخل محیط برنامه بودین کافیه به منوی Tools برین و گزینهی Create Desktop Entry رو بزنین. حالا اگه Dash یا هر چیز دیگهای که برنامههاتون رو باهاش اجرا میکنید رو باز کنید، خواهید دید که اندروید استودیو به لیست برنامههاتون اضافه شده و به سادگی میتونین اجراش کنین.
امیدوارم نکتهای جا نیفتاده باشه و اگر جا افتاده خوشحال میشم بهم بگین.
اگر هم راه بهتری سراغ دارین مخصوصا برای اجرا کردن شبیهساز اندروید بدون درایور انحصاری که سریع هم باشه باز هم خوشحال میشم باهام در میون بزارین، چون خودم هیچ راهی پیدا نکردم که بدون درایور انحصاری بتونم یه شبیهساز اندروید نصب کنم و اجرا بشه و فقط تنها راهی که سراغ داشتم همینه که کنده ولی خب کار من رو فعلا راه میندازه گفتم شاید به درد شما هم بخوره.
خواستم این مطلب رو توی ویکی بنویسم اما گفتم شاید چون اندروید استودیو توی مخازن رسمی نیست و یه جورایی یه نرم افزار غیر رسمی حساب میشه، جاش توی ویکی نباشه.
امیدوارم بدردتون بخوره.
-
سلام
اندروید استادیو آزاد هم نیست ( اس دی کا های جدیدش البته) ولی تو ویکی هم بزار. منظورم اینکه اگه نزاری بالاخره که باز سوال می کنند! بگذریم... که دعوا نشه :).
من از امولاتور خود اندروید استادیو استفاده نمی کنم.( چون خیلی دانلود می کنه و خیلی وقتها وسط دانلود قطع می شه. البته من از تور استفاده می کنم) ولی برای تست app ها از ایمیج android-x86 و qemu-system-x86_64 استقاده می کنم. روی سیستم من (core i7 - 8G ram ) خوبه یعنی راضی ام ولی خب قابلیت ها و امکانات خود امولاتور اندروید استادیو رو نداره. مثلا نمی تونم از یک امولاتور به امولاتور دیگه زنگ بزنم (البته تا حالا لازمم نشده و سرچ هم نکردم)
سایت دانلود ایمیج :
http://www.android-x86.org/
البته من روی یک هارد مجازی این رو نصب کردم و تو حالت زنده (روی شبیه ساز) افتضاحه! اگر خواستی تست کنی حتما روی هارد مجازی نصب کن و این دوتا اپشن رو هم توی خط فرمان qemu بزن :
-enable-kvm
-cpu host
-
سلام
اندروید استادیو آزاد هم نیست ( اس دی کا های جدیدش البته) ولی تو ویکی هم بزار. منظورم اینکه اگه نزاری بالاخره که باز سوال می کنند! بگذریم... که دعوا نشه :).
من از امولاتور خود اندروید استادیو استفاده نمی کنم.( چون خیلی دانلود می کنه و خیلی وقتها وسط دانلود قطع می شه. البته من از تور استفاده می کنم) ولی برای تست app ها از ایمیج android-x86 و qemu-system-x86_64 استقاده می کنم. روی سیستم من (core i7 - 8G ram ) خوبه یعنی راضی ام ولی خب قابلیت ها و امکانات خود امولاتور اندروید استادیو رو نداره. مثلا نمی تونم از یک امولاتور به امولاتور دیگه زنگ بزنم (البته تا حالا لازمم نشده و سرچ هم نکردم)
سایت دانلود ایمیج :
http://www.android-x86.org/
البته من روی یک هارد مجازی این رو نصب کردم و تو حالت زنده (روی شبیه ساز) افتضاحه! اگر خواستی تست کنی حتما روی هارد مجازی نصب کن و این دوتا اپشن رو هم توی خط فرمان qemu بزن :
-enable-kvm
-cpu host
ممنونم از شما.
فقط یه سوال اونم اینکه با نصب این ایمیج مستقیم میشه برنامه رو از اندروید استودیو داخلش نصب کرد یا نه؟ یعنی داخل adb به عنوان دستگاه میاد؟
-
نه نمی شه. یکی از عیبهای که این روش داره همینه که از قابلیت های امولاتور اندروید ستادیو نمی شه استفاده کرد مثل همین adb و خروجی دیباگرش. البته بازم خودت تست و سرچ کن شاید تو راهی رو پیدا کردی. می دونی گاهی اینطوری می شه که وقتی سرچ می کنی یک چیزی رو از قلم می اندازی که باعث می شه به جواب نرسی. چون بعید هم نیست یک راهی باشه چون تا جایی که می دونم اندروید استادیو هم از همین qemu برای شبیه سازی استفاده می کنه.
-
ممنون.
جستجو میکنم اگر به نتیجهای رسیدم حتما همینجا مینویسم.
-
اگر می خواهس این ها رو تست کن خودش که نوشته جواب می ده. راستش من زیاد adb نمی خوام (برنماه نویس حرفه ای - شغلی - اندروید نیستم) برای همین پیگرش نیستم.
به ترتیب:
https://stackoverflow.com/questions/37796452/how-to-use-a-different-emulator-in-android-studio
http://www.android-x86.org/documents/virtualboxhowto#Advanced (قسمت آپلود فایل با adb )
http://www.android-x86.org/documents/debug-howto
-
اگر می خواهس این ها رو تست کن خودش که نوشته جواب می ده. راستش من زیاد adb نمی خوام (برنماه نویس حرفه ای - شغلی - اندروید نیستم) برای همین پیگرش نیستم.
به ترتیب:
https://stackoverflow.com/questions/37796452/how-to-use-a-different-emulator-in-android-studio
http://www.android-x86.org/documents/virtualboxhowto#Advanced (قسمت آپلود فایل با adb )
http://www.android-x86.org/documents/debug-howto
اون لینک اول که در مورد leapdroid بود رو نگاه کردم و ظاهرا اون شبیه ساز رو دیگه نمیشه دانلود کرد طبق این قسمت توی سایت leapdroid:
In order to focus on our next chapter, we have decided to discontinue the development of LeapDroid emulator. However, if you have LeapDroid already installed, you can continue to use it. Please review the User FAQ for more information.
و همچنین لینک دانلودی براش نیست و اگر هم توی سایتهای دیگه باشه فقط برای ویندوزه و چیزی هم که توی سایت خودش نوشته این رو میگه:
LeapDroid is an Android emulator. It runs the whole Android system inside Windows using state-of-the-art virtual machine technologies.
بقیهی پاسخها هم genymotion رو معرفی کردن که اون رو قبلا تست کردم بدون درایور انحصاری کار که نمیکنه هیچی، سیستم رو هم فریز میکنه !!
در مورد لینکهای بعدی هم هنوز ایمیج android-x86 رو دانلود نکردم و اون رو هم تست خواهم کرد حتما و امیدوارم جواب بده.
ممنونم.
-
سلام
ببخشید منظورم رو بد گفتم.
منظورم این بود که از لینک اول این نکته مهم هست که adb فقط به پورت ۵۵۵۵ وابسته است و اگه ماشین مجازی روی ۵۵۵۵ ، adb داشته باشه اندروید استدیو خودبهخود توی لیست به عنوان دستگاه می یاره.
لینک دوم و سوم هم می گه چجوری با adb فایل بفرستیم و چجوری دیباگ کنیم. که خب از این دوتا نتیجه می گیریم که واقعا با adb می تونه ارتباط برقرار کنه و از لینک اول هم می دونیم که اگر adb کار کنه اندروید استادیو توی لیست نشونش می ده.
-
تشکر از شما !
این روزا یکم امتحانات بدجور درگیرم کردن و فرصتی نذاشتن برام که امتحان کنم. اما اینطوری که میگین و داخل لینکها نوشته شده ظاهرا نشد نداره و میشه راه انداختش! :)
-
متاسفانه تصاویر پست اول نمایش داده نمیشن. اگه امکانش هست لطفا تصحیح بفرمایید
-
متاسفانه تصاویر پست اول نمایش داده نمیشن. اگه امکانش هست لطفا تصحیح بفرمایید
من هم روی فایرفاکس تصاویر رو نمیتونم ببینم. (نه تنها تصاویر این تاپیک، بلکه کل تصاویری که دوستان توی این انجمن به صورت غیر ضمیمه قرار میدن.) دلیلش هم نمیدونم چیه.
اما با کرومیوم چک کردم تصاویر مشکلی ندارن و سرجاشونن. بد نیست با یه مرورگر دیگه چک کنین. به هر حال تصاویر رو الان ضمیمه میکنم.