انتقال پروژههایتان به اندروید استودیو نیازمند سازگاری با ساختار پروژه، سیستم ساخت و قابلیتهای IDE جدید است.
اگر از IntelliJ مهاجرت میکنید و پروژه شما از قبل از Gradle استفاده میکند، میتوانید پروژه موجود خود را از اندروید استودیو باز کنید. اگر از IntelliJ استفاده میکنید اما پروژه شما از Gradle استفاده نمیکند، باید قبل از وارد کردن پروژه به اندروید استودیو، آن را به صورت دستی آماده کنید. برای اطلاعات بیشتر، به بخش مهاجرت از IntelliJ مراجعه کنید.
اصول اولیه اندروید استودیو
در اینجا برخی از تفاوتهای کلیدی که باید هنگام آماده شدن برای مهاجرت به اندروید استودیو از آنها آگاه باشید، آورده شده است.
سازماندهی پروژه و ماژول
اندروید استودیو بر اساس محیط توسعه یکپارچه IntelliJ IDEA ساخته شده است. برای آشنایی با اصول اولیه این محیط توسعه یکپارچه، مانند ناوبری، تکمیل کد و میانبرهای صفحه کلید، به بخش «با اندروید استودیو آشنا شوید» مراجعه کنید.
اندروید استودیو کد را در قالب پروژهها سازماندهی میکند، که شامل هر چیزی است که برنامه اندروید شما را تعریف میکند، از کد منبع برنامه گرفته تا پیکربندیهای ساخت و کد تست. پروژهها در پنجرههای جداگانه اندروید استودیو باز میشوند. هر پروژه شامل یک یا چند ماژول است که به شما امکان میدهد پروژه خود را به واحدهای مجزا از عملکرد تقسیم کنید. ماژولها میتوانند به طور مستقل ساخته، آزمایش و اشکالزدایی شوند.
برای اطلاعات بیشتر در مورد پروژهها و ماژولهای اندروید استودیو، به نمای کلی پروژهها مراجعه کنید.
سیستم ساخت مبتنی بر Gradle
سیستم ساخت اندروید استودیو مبتنی بر Gradle است و از فایلهای پیکربندی ساخت نوشته شده با اسکریپت Groovy یا Kotlin برای سهولت توسعهپذیری و سفارشیسازی استفاده میکند.
پروژههای مبتنی بر Gradle ویژگیهای قابل توجهی را برای توسعه اندروید ارائه میدهند، از جمله موارد زیر:
- پشتیبانی از کتابخانههای دودویی (AAR). دیگر نیازی به کپی کردن منابع کتابخانه در پروژههای خود ندارید؛ میتوانید یک وابستگی تعریف کنید و کتابخانه به طور خودکار دانلود و در پروژه شما ادغام میشود. این شامل ادغام خودکار منابع، ورودیهای مانیفست، قوانین استثنای Proguard، قوانین lint سفارشی و غیره در زمان ساخت میشود.
- پشتیبانی از build variants که به شما امکان میدهد نسخههای مختلفی از برنامه خود (مانند نسخه رایگان و نسخه حرفهای) را از همان پروژه بسازید.
- پیکربندی و سفارشیسازی آسان برای ساخت . به عنوان مثال، میتوانید نام نسخهها و کدهای نسخه را از تگهای Git به عنوان بخشی از ساخت دریافت کنید.
- Gradle را میتوان از طریق IDE، از طریق خط فرمان و از طریق سرورهای یکپارچهسازی مداوم مانند Jenkins استفاده کرد و ساخت یکسانی را در همه جا و هر زمان ارائه داد.
برای اطلاعات بیشتر در مورد استفاده و پیکربندی Gradle، به پیکربندی نسخهٔ ساختهشده مراجعه کنید.
وابستگیها
وابستگیهای کتابخانه در اندروید استودیو از اعلانهای وابستگی Gradle و وابستگیهای Maven برای کتابخانههای منبع محلی و باینری شناخته شده با مختصات Maven استفاده میکنند. برای اطلاعات بیشتر، به بخش اعلان وابستگیها مراجعه کنید.
مهاجرت از IntelliJ
اگر پروژه IntelliJ شما از سیستم ساخت Gradle استفاده میکند، میتوانید پروژه خود را مستقیماً به اندروید استودیو وارد کنید. اگر پروژه IntelliJ شما از Maven یا سیستم ساخت دیگری استفاده میکند، قبل از اینکه بتوانید به اندروید استودیو مهاجرت کنید، باید آن را برای کار با Gradle تنظیم کنید.
یک پروژه IntelliJ مبتنی بر Gradle را وارد کنید
اگر از قبل از Gradle در پروژه IntelliJ خود استفاده میکنید، آن را با استفاده از مراحل زیر در اندروید استودیو باز کنید:
- روی فایل > جدید > وارد کردن پروژه کلیک کنید.
- پوشهی پروژهی IntelliJ خود را انتخاب کنید و روی OK کلیک کنید. پروژهی شما در اندروید استودیو باز میشود.
وارد کردن یک پروژه غیر Gradle IntelliJ
اگر پروژه IntelliJ شما از سیستم ساخت Gradle استفاده نمیکند، دو گزینه برای وارد کردن پروژه خود به اندروید استودیو دارید که در بخشهای بعدی توضیح داده شدهاند:
- یک پروژه خالی اندروید استودیو جدید ایجاد کنید و کد منبع موجود خود را در دایرکتوریهای مرتبط با پروژه جدید کپی کنید. برای اطلاعات بیشتر، به بخش مربوط به مهاجرت با ایجاد یک پروژه خالی جدید مراجعه کنید.
- یک فایل Gradle build جدید برای پروژه خود ایجاد کنید و سپس پروژه و فایل build جدید را به اندروید استودیو وارد کنید. برای اطلاعات بیشتر، به بخش مربوط به مهاجرت با ایجاد یک فایل Gradle build سفارشی مراجعه کنید.
با ایجاد یک پروژه خالی جدید، مهاجرت کنید
برای انتقال پروژه خود به اندروید استودیو با ایجاد یک پروژه خالی جدید و کپی کردن فایلهای منبع خود در دایرکتوریهای جدید، به شرح زیر عمل کنید:
- اندروید استودیو را باز کنید و روی فایل > جدید > پروژه جدید کلیک کنید.
- یک نام برای پروژه برنامه خود وارد کنید و مکانی را که باید در آن ایجاد شود مشخص کنید، سپس روی Next کلیک کنید.
- فاکتورهای فرمی که برنامه شما روی آنها اجرا میشود را انتخاب کنید، سپس روی «بعدی» کلیک کنید.
- روی «افزودن بدون فعالیت» کلیک کنید، سپس روی «پایان» کلیک کنید.
- در پنجره ابزار پروژه ، روی فلش کلیک کنید تا منوی نما باز شود و نمای پروژه را انتخاب کنید تا سازماندهی پروژه جدید اندروید استودیو خود را مشاهده و بررسی کنید. برای مطالعه بیشتر در مورد تغییر نماها و نحوه ساختاردهی پروژهها در اندروید استودیو، به فایلهای پروژه مراجعه کنید.
- به مکانی که برای پروژه جدید خود انتخاب کردهاید بروید و کد، تستهای واحد، تستهای ابزار دقیق و منابع را از دایرکتوریهای پروژه قدیمی خود به مکانهای صحیح در ساختار پروژه جدید خود منتقل کنید.
- در اندروید استودیو، روی File > Project Structure کلیک کنید تا پنجرهی Project Structure باز شود. مطمئن شوید که ماژول برنامهی شما در پنل سمت چپ انتخاب شده است.
- هرگونه تغییر لازم را در تب Properties برای پروژه خود انجام دهید (برای مثال، تغییر
minSdkیاtargetSdk). - روی Dependencies کلیک کنید و هر کتابخانهای که پروژه شما به آن وابسته است را به عنوان وابستگیهای Gradle اضافه کنید. برای افزودن یک وابستگی جدید، روی Add کلیک کنید.
، سپس نوع وابستگی مورد نظر برای اضافه کردن را انتخاب کنید و دستورالعملها را دنبال کنید. - برای ذخیره تغییرات خود، روی تأیید کلیک کنید.
- برای آزمایش ساخت پروژه خود، و در صورت لزوم رفع هرگونه خطای برجسته، روی Build > Make Project کلیک کنید.
با ایجاد یک فایل ساخت Gradle سفارشی، مهاجرت کنید
برای انتقال پروژه خود به اندروید استودیو با ایجاد یک فایل Gradle build جدید که به فایلهای منبع موجود شما اشاره میکند، به شرح زیر عمل کنید:
- قبل از شروع، از فایلهای پروژه خود در یک مکان جداگانه پشتیبان تهیه کنید، زیرا فرآیند مهاجرت، محتویات پروژه شما را در محل تغییر میدهد.
- اگر از Groovy استفاده میکنید، فایلی به نام
build.gradleدر دایرکتوری پروژه خود ایجاد کنید، یا اگر از اسکریپت Kotlin استفاده میکنید،build.gradle.kts. این فایل شامل تمام اطلاعات مورد نیاز Gradle برای اجرای build شما است.به طور پیشفرض، اندروید استودیو انتظار دارد که پروژه شما مطابق شکل ۱ سازماندهی شده باشد.

شکل ۱. ساختار پیشفرض پروژه برای یک ماژول برنامه اندروید. در
settings.gradleبرای Groovy یاsettings.gradle.ktsبرای Kotlin script، مخازنی را تنظیم میکنید که برای یافتن افزونهها و وابستگیها به ترتیب در بلوکهایpluginManagementوdependencyResolutionManagementاستفاده میشوند:گرووی
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include ':app'
کاتلین
pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "Test App" include(":app")
هشدار: مخزن JCenter در تاریخ ۳۱ مارس ۲۰۲۱ به حالت فقط خواندنی (read-only) تغییر یافت. برای اطلاعات بیشتر، به بهروزرسانی سرویس JCenter مراجعه کنید.
افزونهی اندروید گریدل (Android Gradle) برخی مجموعههای منبع پیشفرض را به پروژه اعمال میکند. این مجموعههای منبع، دایرکتوریهای مورد استفاده برای ذخیرهی انواع مختلف فایلهای منبع را تعریف میکنند. گریدل از این مجموعههای منبع برای تعیین مکان انواع خاص فایلها استفاده میکند. اگر پروژهی موجود شما با پیشفرضها مطابقت ندارد، میتوانید فایلها را به جایی که باید باشند منتقل کنید یا مجموعههای منبع پیشفرض را تغییر دهید تا گریدل بداند کجا آنها را پیدا کند.
برای اطلاعات بیشتر در مورد تنظیم و سفارشیسازی فایل Gradle build، بخش Configure your build را مطالعه کنید.
در مرحله بعد، مشخص کنید که از کدام پروژههای کتابخانهای استفاده میکنید.
با Gradle، دیگر نیازی به اضافه کردن این کتابخانهها به عنوان پروژههای کد منبع ندارید. در عوض میتوانید در بلوک
dependencies{}فایل build خود به آنها ارجاع دهید. سپس سیستم build این کتابخانهها را برای شما مدیریت میکند، از جمله دانلود کتابخانهها، ادغام منابع و ادغام ورودیهای manifest. مثال زیر عبارات اعلان تعدادی از کتابخانههای AndroidX را به بلوکdependencies{}یک فایل build اضافه میکند.برای کمک به تعیین عبارات اعلان صحیح برای کتابخانههای خود، مخزن Google Maven یا Maven Central را جستجو کنید.گرووی
... dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // AndroidX libraries implementation 'androidx.core:core-ktx:1.17.0' implementation 'androidx.appcompat:appcompat:1.7.1' implementation 'androidx.cardview:cardview:1.0.0' implementation 'com.google.android.material:material:1.7.0' implementation 'androidx.gridlayout:gridlayout:1.1.0' implementation 'androidx.leanback:leanback:' implementation 'androidx.mediarouter:mediarouter:1.8.1' implementation 'androidx.palette:palette-ktx:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.4.0' implementation 'androidx.annotation:annotation:1.9.1' // Note: these libraries require that the Google repository has been declared // in the pluginManagement section of the top-level build.gradle file. }
کاتلین
... dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) // AndroidX libraries implementation("androidx.core:core-ktx:1.17.0") implementation("androidx.appcompat:appcompat:1.7.1") implementation("androidx.cardview:cardview:1.0.0") implementation("com.google.android.material:material:1.7.0") implementation("androidx.gridlayout:gridlayout:1.1.0") implementation("androidx.leanback:leanback:") implementation("androidx.mediarouter:mediarouter:1.8.1") implementation("androidx.palette:palette-ktx:1.0.0") implementation("androidx.recyclerview:recyclerview:1.4.0") implementation("androidx.annotation:annotation:1.9.1") // Note: these libraries require that the Google repository has been declared // in the pluginManagement section of the top-level build.gradle.kts file. }
- فایل
build.gradleخود را ذخیره کنید، سپس پروژه را در IntelliJ ببندید. به دایرکتوری پروژه خود بروید و دایرکتوری.ideaو هر فایل IML را در پروژه خود حذف کنید. - اندروید استودیو را اجرا کنید و روی File > New > Import Project کلیک کنید.
- پوشهی پروژهی خود را پیدا کنید، فایل
build.gradleیاbuild.gradle.ktsکه ایجاد کردهاید را انتخاب کنید و سپس برای وارد کردن پروژه، روی تأیید کلیک کنید. - برای آزمایش فایل ساخت خود با ساختن پروژه، و رفع هرگونه خطایی که پیدا میکنید، روی Build > Make Project کلیک کنید.
مراحل بعدی
پس از اینکه پروژه خود را به اندروید استودیو منتقل کردید، با مطالعهی «ساخت و اجرای برنامه» در بخش «برنامهتان را بسازید و اجرا کنید» درباره ساخت با Gradle و اجرای برنامه در اندروید استودیو بیشتر بیاموزید.
بسته به پروژه و گردش کار خود، ممکن است بخواهید درباره کنترل نسخه، مدیریت وابستگیها و پیکربندی اندروید استودیو نیز اطلاعات بیشتری کسب کنید. برای شروع استفاده از اندروید استودیو، «با اندروید استودیو آشنا شوید» را مطالعه کنید.
پیکربندی کنترل نسخه
اندروید استودیو از انواع سیستمهای کنترل نسخه از جمله Git، Mercurial و Subversion پشتیبانی میکند. سیستمهای کنترل نسخه دیگر را میتوان از طریق افزونهها اضافه کرد.
اگر برنامه شما از قبل تحت کنترل سورس است، ممکن است لازم باشد آن را در اندروید استودیو فعال کنید. از منوی VCS، روی Enable Version Control Integration کلیک کنید و سیستم کنترل نسخه مناسب را انتخاب کنید.
اگر برنامه شما تحت کنترل منبع نیست، میتوانید پس از وارد کردن برنامه خود به اندروید استودیو، آن را پیکربندی کنید. از گزینههای منوی VCS اندروید استودیو برای فعال کردن پشتیبانی VCS برای سیستم کنترل نسخه مورد نظر، ایجاد یک مخزن، وارد کردن فایلهای جدید به کنترل نسخه و انجام سایر عملیات کنترل نسخه استفاده کنید:
- از منوی VCS اندروید استودیو، روی فعال کردن یکپارچهسازی کنترل نسخه (Enable Version Control Integration) کلیک کنید.
- یک سیستم کنترل نسخه را برای ارتباط با ریشه پروژه از منو انتخاب کنید، سپس روی تأیید کلیک کنید. منوی VCS اکنون تعدادی از گزینههای کنترل نسخه را بر اساس سیستمی که انتخاب کردهاید نمایش میدهد.
توجه: همچنین میتوانید از گزینه منوی File > Settings > Version Control برای تنظیم و تغییر کنترل نسخه استفاده کنید.
برای اطلاعات بیشتر در مورد کار با کنترل نسخه، به مرجع کنترل نسخه IntelliJ مراجعه کنید.
امضای برنامه
اگر قبلاً از یک گواهی اشکالزدایی استفاده شده باشد، ممکن است در طول فرآیند وارد کردن شناسایی شود. در این صورت، اندروید استودیو همچنان به آن گواهی ارجاع میدهد. در غیر این صورت، پیکربندی اشکالزدایی از کلید ذخیره اشکالزدایی تولید شده توسط اندروید استودیو استفاده میکند، با استفاده از یک رمز عبور شناخته شده و یک کلید پیشفرض با رمز عبور شناخته شده که در $HOME/.android/debug.keystore قرار دارد. نوع ساخت اشکالزدایی به گونهای تنظیم شده است که هنگام اجرا یا اشکالزدایی پروژه خود از اندروید استودیو، به طور خودکار از این پیکربندی اشکالزدایی استفاده کند.
به طور مشابه، فرآیند وارد کردن ممکن است یک گواهی انتشار موجود را شناسایی کند. اگر قبلاً هیچ گواهی انتشاری تعریف نشده بود، پیکربندی امضای انتشار را به فایل build.gradle یا build.gradle.kts اضافه کنید یا از گزینه منوی Build > Generate Signed APK برای باز کردن ویزارد Generate Signed APK استفاده کنید. برای اطلاعات بیشتر در مورد امضای برنامه خود، به Sign your app مراجعه کنید.
حداکثر اندازه heap اندروید استودیو را تنظیم کنید
به طور پیشفرض، اندروید استودیو حداکثر اندازه heap را ۱۲۸۰ مگابایت تعیین کرده است. اگر روی یک پروژه بزرگ کار میکنید یا سیستم شما رم زیادی دارد، میتوانید با افزایش حداکثر اندازه heap، عملکرد را بهبود بخشید.
بهروزرسانیهای نرمافزار
اندروید استودیو به طور جداگانه از افزونه Gradle، ابزارهای ساخت و ابزارهای SDK بهروزرسانی میشود. میتوانید مشخص کنید که میخواهید از کدام نسخهها با اندروید استودیو استفاده کنید.
به طور پیشفرض، اندروید استودیو هر زمان که نسخه پایدار جدیدی منتشر شود، بهروزرسانیهای خودکار را ارائه میدهد، اما میتوانید بهروزرسانیهای بیشتری را انتخاب کنید و نسخههای canary یا RC را دریافت کنید.
برای اطلاعات بیشتر در مورد بهروزرسانی اندروید استودیو و استفاده از نسخههای canary و RC، بخش بهروزرسانیها را مطالعه کنید.