راه حل خطای Failed to find Build Tools revision 27.0.3 در اندروید استودیو

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

Failed to find Build Tools revision 27.0.3

Install Build Tools 27.0.3 and sync project

برای رفع مشکل، پیشنهاد خود اندروید استودیو و خیلی از فرومها این است که نسخه ابزار-کامپایل ۲۷٫۰٫۳ را دانلود کرده و در پوشه مناسب (که نوعا در مسیر C:\Users\Hossein\AppData\Local\Android\sdk\build-tools است) Extract کنید. اما معمولا شما یک نسخه دیگر از build tools را دارید و کارتان را هم راه می اندازد! مثلا من نسخه ۲۶٫۰٫۲ و ۲۸٫۰٫۱ را دارم، دلیلی برای دانلود ندارم!

در این حالت برای رفع مشکل به صورت زیر عمل کنید:

راه حل خطای build tools revision

فایل build.gradle (از ماژول app) را باز کنید و عبارت زیر را در بخش android اضافه کنید یا اگر هست، نسخه آن را اصلاح کنید:

android {
buildToolsVersion “28.0.1”
}

دقت کنید که به جای ۲۸٫۰٫۱ همان نسخه ای را باید بگذارید که موجود دارید. و نکته دیگری اینکه عبارتهای compileSdkVersion، targetSdkVersion و minSdkVersion هم حتما باید کمتر مساوی نسخه build-tools باشند (اینها در همین گردل هستند و ممکن است در جاهای دیگر هم باشند که باید جستجو و جایگزین کنید). مثلا در حالت فوق که من نسخه ۲۸٫۰٫۱ را استفاده می کنم، حداکثر ورژنی که می توانم برای این سه دسته انتخاب کنم، ۲۸ است که البته معقول نیست چون خیلی از موبایلها هنوز با APIهای خیلی قدیمی تر مثل ۲۰ دارند کار می کنند لذا minSdkVersion را روی عددی مثل ۲۰ یا کمتر بگذارید.

Share

سی پلاس پلاس ++C یا پایتون Python

مقایسه ++C و پایتون

داشتم پروژه های نمونه Opnecv (شامل image stitching و image stitching detailed) برای تولید تصاویر پانوراما را تحلیل می کردم که به عنوان مثال درس بینایی ماشین در کلاس توضیح دهم. برای درک بیشتر، به دنبال مثالهایی با توضیحات کاملتر در وب بودم که در حین جستجو به پروژه ای رسیدم که با پایتون نوشته شده بود و خیلی خوب تمام بخشهایش توضیح داده شده بود. این شد که پایتون را به ویژوال استودیو اضافه کرده و پروژه مذکور را را کامپایل و اجرا کردم. دیدم با وجود اینکه این برنامه از نسخه باینری کتابخانه OpenCV استفاده می کند، زمان اجرا خیلی کند است. بررسی کردم دیدم مشکل سر یک تابعی هست که دو حلقه for تو در تو دارد. برای مقایسه با ++C تصمیم گرفتم کد را به ++C بنویسم و این شد که پایتون را یاد گرفتم و طی چند ساعتی، کد را به ++C تبدیل کردم.

مقایسه زمان اجرای برنامه در پایتون و ++C

نتیجه مقایسه جالب بود. غیر از حلقه for بقیه بخشها از نظر زمانی تقریبا یکسان بود چرا که هر دو از کتابخانه OpenCV استفاده می کردند که اصالتا کد ++C است. اما در حلقه for کد ++C نزدیک به ۱۰ برابر سریعتر از پایتون اجرا می شود. زمانها را ببینید:
مقایسه سی پلاس پلاس و پایتون

​زمان اجرای کد سی پلاس پلاس ۱٫۲۵ ثانیه و زمان اجرای کد پایتون ۱۰٫۴۷ ثانیه بود.
از این زمانها در پایتون حدود ۱٫۵ ثانیه مربوط به توابع داخلی OpenCV بوده و ۹ ثانیه مربوط به حلقه for تو در تو است که روی کل تصویر جاروب می شود.

در C++ کل زمان تقریبا مربوط به توابع داخلی OpenCV بوده و حلقه for تودرتو تنها ۰٫۰۰۲ ثانیه زمان برد.

لذا در کل برنامه، ++C حدود ۱۰ برابر سریعتر بوده و در حلقه for تفاوت سرعت وحشتناک است: ۹ ثانیه به ۰٫۰۰۲ ثانیه می شود ۴۵۰۰ برابر سرعت بهتر ++C نسبت به زبان اسکریپتی پایتون.

نتیجه مقایسه ++C و پایتون

پایتون بسیار ساده تر از ++C است. لذا اگر برنامه نویس حرفه ای ++C هستید در کمتر از یک روز پایتون را یاد می گیرید. سرعت کد نویسی پایتون به دلیل برخورداری از امکانات فراوان، که الان جای بحثش نیست، زیاد است. اما دو مشکل دارد: یکی اسکریپتی بودن و اجرای خط به خط که همیشه نیازمند این هستید که پایتون (همان ورژنی که شما استفاده کرده اید) در کامپیوتر مقصد نصب باشد. دوم سرعت کم در حلقه ها و دستورات شرطی.

لذا برای کاربردهایی که پردازشهای سنگین و حلقه های زیاد ندارید استفاده از پایتون خوب است. برای کارهای پردازشی یا باید سراغ ++C بروید یا اینکه اگر اصرار به استفاده از پایتون دارید، بخشهای پردازشی کد را حتما از نسخه های باینری کتابخانه های ثالث استفاده کنید.

 

Share

هدف زندگی – ۲

در ادامه پست قبلی در مورد هدف زندگی نظرسنجی دیگری گذاشتم مبنی بر اینکه فکر می کنید، هدف از خلقت انسان چیست؟ و ۹۳ نفر در آن شرکت کردند که نتیجه آن به شرح زیر است:
هدف از زندگیدر این مجال، این تحلیل مختصری بر این نظرسنجی ارائه می کنم:
✅در مورد هدف زندگی ابتدا باید مشخص کنیم که آیا #خدا هست یا نیست. البته این موضوع بحث مفصلی است و فرض ما بر این است که همه شما به حضور خدا اعتقاد دارید.
استیون هاوکینگ، فیزیکدان مشهور، در سالهای گذشته اعلام کرده بود که خدا نیست و جهان هستی بر اثر پدیده #انفجار بزرگ یا بیگ بنگ به وجود آمده است و قانون #جاذبه، جهان را اداره می کند. البته ایشان نیفزودند که خود این پدیده انفجار بزرگ را چه کسی به وجود آورد؟ اگر بپذیریم که بیگ بنگ سبب تشکیل جهان هستی شده است، باید از #مسبب آن هم بپرسیم که باز به خدا می‌رسیم (سوره انبیاء آیه ۳۰).
جالب اینکه امسال خود جناب استیون هاوکینگ هم نظرش عوض شده و وجود خدا را پذیرفته است.
از طرفی در زمان فعلی تقریباً هیچ دین بزرگ و متوسطی نداریم که به حضور خدا اعتقاد نداشته باشد و به ادعای ویکی پدیا، تنها ۷% جمعیت جهان به خدا اعتقاد ندارند که حدود نصف آنها هم چینی اند!
لذا فرض را بر این می گیریم که همه شما قبول دارید خدا هست.
✅ اما در مورد هدف زندگی، سه نفر از دوستان پاسخ دادند که زندگی پوچ است و بعد از مرگ #نابود می شویم. خوب این فلسفه، با حکمت خداوند ناسازگار است چرا که شخص حکیم کار بیهوده نمی‌کند. با عدل خدا هم ناسازگار است چراکه انسان ها در طول ۶۰-۷۰ سالی که در زمین زندگی میکنند، به پاداش و سزای کردار نیک و بد خود نمی‌رسند…
از اینها که بگذریم، آیا برای شما پیش نیامده است که #مرده را به #خواب ببینید؟ خوب اگر انسان با مرگ نابود می‌شود چگونه پس از مرگ در خواب دیگران ظاهر می شود و به او القائاتی می‌کند و گاهی او را از برخی اخبار #غیب آگاه می‌کند؟
چطور انسان با مرگ نابود می شود حال آنکه اخبار زنده کردن مردگان توسط حضرت #عیسی به تواتر رسیده است!
چطور انسان با مرگ نابود می شود حال آنکه اخبار متعددی از #شفای مریض ها توسط امامان در زمان خودمان دیده و شنیده ایم؟ امامانی که صدها سال قبل شهید شده اند…
اگر دوستانی هستند که تمایل به گفتگو در این مورد دارند می توانند به حاج آقای حسینی دفتر نهاد مراجعه کنند. من هم به اندازه بضاعتم در خدمت هستم.
پنج نفر از دوستان اعلام کردند که هدف از زندگی رسیدن به #لذّت بیشتر است. این هدف، به چند دلیل نمی‌تواند مورد نظر خدا باشد:

🔅 اگر هدف خلقت #انسان، رسیدن به بهره مندی های بیشتر بود، حضور حیوانات کفایت می کرد و نیازی به خلقت انسان با این خصوصیات نبود. در واقع تنها #تمایز انسان با #حیوان در جنبه های غیر مادی است: قدرت #تفکر، #تعقل و #رشد در جنبه های معنوی
🔅نکته دیگر اینکه، رسیدن به برخی لذّت ها، مستلزم #نقض لذّت دیگران است؛ مثلاً فردی از سیگار کشیدن لذت می‌برد در حالیکه فرد کنار او از این کار اذیت می‌شود. یا فردی از گوش دادن به #موسیقی بلند لذت می‌برد در حالی که این کار باعث آزار همسایه‌اش در آپارتمان می‌شود. به عبارتی نمی‌شود همه از لذت حداکثری بهره‌مند شوند.
🔅نکته آخر اینکه هیچ لذتی در این دنیا #مطلق نیست! تقریباً هر لذتی را نگاه کنید همراه با نوعی درد و اذیت شدن است؛ مثلاً لذتِ خوردن با اذیتِ رفتن به دستشویی همراه است! یا لذتِ خواب با رنجِ بیدار شدن همراه است، لذتِ سُر خوردن از سرسره، با زحمت بالا رفتن از پله ها همراه است… پس رسیدن به این هدف در این دنیا مقدور نیست

✅سه دسته از دوستان که خوشبختانه ۹۱% افراد شرکت کننده در نظرسنجی هستند یکی از سه هدف (رسیدن به کمال عقلی و معرفتی، شناخت خدا و بندگی او، رسیدن به شهود باطنی) را انتخاب کرده اند که اینها می توانند با هم جمع شوند؛ یعنی در حالت ایده آل ما می خواهیم که عقل و معرفتمان زیاد شود به تبع آن خدا را بهتر خواهیم شناخت و آنکس که خدا را بشناسد او را عبادت خواهد کرد و تا آنجا می رود که به #یقین برسد و یقین همان #شهود باطنی است که کمترین چیزی است که در بین مردم تقسیم شده است.
برای این دسته از دوستان و نیز آن دو دسته‌ی اول، پیشنهاد می کنم ۲۵ صفحه اول کتاب زیر از استاد مطهری را مطالعه کنند: این کتاب از سخنرانیهای ایشان در جمع ۱۰ تن از شاگردان خودشان در سال ۱۳۵۱ تهیه شده است:

https://t.me/khosravi_h/637

مطالب مشابه

Share

هدف زندگی

چندی پیش، نظرسنجی در کانالم گذاشتم و از دانشجویان خواستم به این سوال پاسخ دهند که آیا به فلسفه زندگی شان فکر می کنند؟
purpose-of-life - هدف زندگیدر این مجال می خواهم تحلیل مختصری کنم و پیشنهادی بدهم که ان شاءالله مفید باشد:
خیلی خوشحال کننده است که دانشجویان عزیز به هدف زندگی و فلسفه حیات خود فکر می کنند (به جز ۳% که ان شاءالله آنها هم فکر کنند!).
کلمه انسان از ریشه نسیان گرفته شده یعنی #فراموشی و به همین علت اکثر انسانها (مخصوصا بعد از اشتغال و ورود به زندگی متاهلی) گرفتار روزمرگی شده و از هدف خلقت غافل می شوند😐. تمام همّ و غمشان این می شود که امروز که از خانه بیرون می روم چه کاری کنم که پول 💵 بیشتری کسب کنم. در خانه هم که مهمترین سوال این می‌شود که ناهار و شام چی بخورم و چه کانالی را تماشا کنم! اصولا در طول روز به اندازه ۵ دقیقه هم به خودمان فرصت خلوت کردن و تفکر کردن نمی دهیم.الان که شما در سنی هستید که عقل و قلبتان به دنبال حقیقت است، باید این را قدر بدانید و قبل از اینکه به مرحله روزمرگی بیفتید فکر کنید و تحقیق کنید که واقعا هدف خداوند از خلقت انسان چیست؟یادم هست در دوره دانشجویی کتابی 📚 مطالعه کردم به نام “در آغوش نور” که ترجمه Embraced By The Light بود. نویسنده این کتاب یک خانم مسیحی (بتی جین ادی) است و شخصی است که چند ساعتی مرگ را تجربه کرده و همین تجربیات را در قالب چند جلد کتاب درآورده که اولین جلد آن بسیار جذاب است.

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

🍃🍃🍃🍃🍃🍃🍃

این کتاب ۱۶۵ صفحه است و نسخه صوتی 🎧 آن هم موجود است که می توانید از برنامه اندرویدی نوار (نسخه صوتی) یا فیدیبو (نسخه متنی) آن را دریافت کرده و بخوانید.

@khosravi_h

مطالب مشابه

Share

جایگزین MATLAB با حجم کم

متلب، از مهمترین نرم افزارهای مهندسی است که فرایند تحقیق و توسعه را تسریع می کند. لیکن دو مشکل بزرگ دارد، یکی اینکه رایگان نیست و دوم اینکه حجم آن خیلی زیاد است و بیش از ۱۰ گیگابایت هنگام نصب فضا اشغال می کند.
سه نرم افزار متن باز جایگزین برای متلب وجود دارد که در این آدرس معرفی شده اند. نرم افزارهای GNU Octave، Scilab و Sage که بهترین آنها GNU Octave است با حجمی حدود ۲۰۰ مگابایت. نکته جالب این نرم افزار سازگاری تقریبا کامل آن با متلب است؛ یعنی دستورات آن مشابه دستورات متلب است و شما می توانید حتی پروژه هایی که با متلب نوشته اید را در اکتاو استفاده کنید.
برای افرادی که از مشکل حجم حافظه رنج می برند، اکتاو پیشنهاد خوبیست. توضیحات بیشتر در مورد اکتاو را در ویکی پدیا (گنو اکتاو) بخوانید.
Octave-4.0.0 - گنو اکتاو - اکتیو جایگزین متلب

مطالب مشابه

Share