شاید در پیدا کردن پوشهی libs مربوط به پروژهی خود در اندروید استدیو جهت قرار دادن کتابخانههای jar و aar و .. به مشکل بخورید. بنابراین در این مطلب قصد داریم تا با نحوهی قرار دادن فایل در این پوشه و طرز استفاده از آن در پروژه آشنا شویم. در ادامه با فول کده همراه باشید.
مراحل انجام کار
طبق تصویر زیر و در بخشی که فایلهای شما را نمایش میدهد، روی گزینهی مورد نظر کلیک کرده و Project را انتخاب نمایید.
سپس در ساختار درختی، به مسیر زیر بروید.
به فایل اکسپلورر ویندوز رفته و فایل کتابخانههایی که میخواهید را انتخاب و کپی کنید. سپس روی این پوشه آمده و Ctrl + V را فشار دهید.
سپس همانند تصویر زیر، روی فایلها راست کلیک کرده و گزینهی Add As Library را انتخاب کنید. (برای aar فرق دارد و در ادامه خواهیم گفت)
حالا اگر به Gradle پروژه بروید، خواهید دید که در بخش dependencies چیزی به صورت زیر اضافه شده است.
1 |
implementation files('libs/retrofit2-2.3.0.jar') |
البته implementation برای نسخهی جدید اندروید استودیو میباشد که در نسخههای قدیمی به صورت compile نوشته میشد.
اما اینکار ممکن است برای هر کتابخانهای که اضافه میکنیم خسته کننده باشد! پس تنها کافی است دستور زیر را به dependencies اضافه کنیم: (که البته در نسخههای جدید به طور پیشفرض وجود دارد)
1 |
implementation fileTree(include: ['*.jar'], dir: 'libs') |
با این حساب، تمامی فایلهای jar ای که داخل libs قرار دارند، در پروژه شناخته میشوند. و همچنین بهتر است این دستور را در اولین خط از dependencies بنویسید. فقط یادتان نرود که هربار چیزی اضافه کردید، یک بار Sync کنید.
اضافه کردن aar
در روش بالا، فایل aar کامپایل نخواهد شد و بنابراین بایستی به صورت زیر عمل کنیم.
فایل build.gradle مربوط به کل پرروژههای موجود را باز کنید. و طبق تصویر، کد زیر را در محل مورد نظر قرار دهید:
1 2 3 |
flatDir { dirs "src/main/libs" } |
سپس به dependencies فایل build.gradle مربوط به پروژه رفته و به صورت زیر aar را فراخوانی کنید:
1 2 3 |
implementation(name:'my_library', ext:'aar') // یا در نسخه های قدیمی compile(name:'my_library', ext:'aar') |
سلام و عرض ادب خدمت شما دوست عزیز.
خوبین ؟ خدا قوت .
من خیلی وقت یک مشکل اساسی دارم با اندروید استادیو.
من وقتی پروژه ی جدیدی ایجاد میکنم کتابخانه هایی که قبلا دانلود کردم باز به حالت دانلود نشده برمیگرده و برای هر پروژه باید از اول همرو تک تک دانلود کنم…
مثلا ReCycrerview
مثلا google map
من باید همرو از اول دانلود کنم تو هر پروژه ؟
راهی هست که یا یک ادیت تو فایل های اندروید استادیو هر پروژه به صورت پیش فرض همه ی کتاب خانه هارو خودش بیاره بالا…یا مثلا ی بار دانلود کنم همیشه استفاده کنم ؟
توروخداااااااا کمک کنین
سول دوم :
برای ساخت و لانچ پروژه من حتما باید اینترنت داشته باشم همیشه و فیلتر شکن فعال باشه
من مثلا میخوام برم جنگل ..کوه..لبتاب باهامه میخوام ی کد بزنم….نمیتونم…
مگ میشه ؟ این همه دولوپر اندرویید یعنی همه این مشکلات رو دارن ؟
توروخدا کمکم کنین.
یک عمر دعاتون میکنم….
این ای دی تلگرام منه : @mj_6033
اینم ایمیل من : mehdi.jabbari6033@gmail.com
بخدا خیلی وقت گیجم….کمکم کنید
سلام؛ در مورد سوال اولتون اطلاعی ندارم متاسفانه؛
و در مورد سوال دومتون هم میتونین یه بار Gradle رو سینک کنین و بعدش اینترنت رو خاموش کنین! شما تنها زمانی به اینترنت نیاز دارین که Gradle شامل Dependency های خارجی باشه.
البته به اینم توجه داشته باشین که برنامهنویسی بدون اینترنت یه مشکل نیست بلکه یه نیازه و این دو به شدت به هم وابسته هستن.
تنها مشکل ما اینه که به دلیل تحریم بایستی از روشهای دور زدنش استفاده کنیم.
سلام. ممنون از آموزش خوبتون. من یک کتابخونه aar دارم. طبق آموزش شما میخواستم اون رو تو پوشه ی lib کپی کنم (فکر کنم منظورتون ctrl+v بوده و اشتباها نوشتید ctrl+p) وقتی ctrl+v رو زدم یک پنجره باز شد که از من میخواست نوع فایل رو مشخص کنم من هم از بین لیستی که شامل text، XML و چیزای دیگه بود compressed رو انتخاب کردم و بعد تو فولدر lib ، کتابخونه ی مدنظرمو با آیکنی به همین شکل (zip شده) که تو عکس شماست آورد. البته بار دوم که امتحان کردم دیگه این پنجره رو نیاورد برام. حالا روی کتابخونه aar که راست کلیک میکنم گزینه ی Add as Library… نداره! باید چیکار کنم. ورژن اندروید استادیوم 2.3.3 هست. نمیدونم بخاطر نوع کتابخونه است یا نسخه IDE یا قضیه چیز دیگه ایه؟ ممنون میشم راهنماییم کنید.
سلام؛ سپاس از شما اشتباه تایپی رفع شد
همچنین روش حل مشکل به انتهای مطلب اضافه شد و درصورتی که همچنان حل نشد اعلام کنین تا روش دوم اضافه کردن کتابخونههارو قرار بدیم.