آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

همان طور که می دانید، ساختار پروژه های اندروید Android Studio با ساختار پروژه های اندروید Eclipse (یا ADT Bundle) متفاوت است. بنابراین اگر پروژه ای را در Android Studio ساخته باشیم، چنانچه آن را به درون برنامه Eclipse وارد (import) کنیم، تعدادی خطا را مشاهده خواهیم کرد و بنابراین عملا استفاده از آن پروژه اندروید در Eclipse امکان پذیر نخواهد بود (خیلی از کاربران در این زمان، متوجه نمی شوند که این پروژه با Android Studio ساخته شده است و بنابراین روش های معمول برای خطایابی کدها را دنبال می کنند که مسلما نتیجه ای نخواهد داشت).

پس ما باید ساختار پروژه های اندروید Android Studio را به پروژه اندروید Eclipse تبدیل کنیم. متاسفانه راه ساده ای (اتوماتیک وار و غیردستی) برای این کار وجود ندارد (حداقل بنده از آن اطلاعی ندارم)، بنابراین مجبوریم به روش دستی این کار را انجام بدهیم و سعی می کنم که نکات کلی آن را در این مبحث ذکر کنم.

دقت کنید که باید به درستی تفاوت بین پروژه اندروید ساخته شده توسط Android Studio و پروژه اندروید ساخته شده توسط Eclipse را بدانید. این موضوع را در کلید شماره 3330 شرح داده ایم.

پس تا اینجا تشخیص داده ایم که پروژه اندروید توسط Android Studio ساخته شده و اکنون می خواهیم یک پروژه اندروید مناسب برای Eclipse از روی آن بسازیم. در واقع، همان طور که گفتیم، چون روش اتوماتیکی برای این کار وجود ندارد (یا حداقل بنده از آن اطلاعی ندارم)، باید در خود Eclipse ، یک پروژه اندروید جدید بسازیم و بعد موارد موجود در پروژه را در آن قرار بدهیم.

هنگام ساخت پروژه جدید اندروید در Eclipse ، نام package پروژه اندروید و همچنین نام Activity اصلی را از ما می خواهد (البته اگر بخواهیم پروژه شامل یک Activity در همان ابتدا ساخته شود). پس می توانیم این نام ها را از فایل AndroidManifest.xml از پروژه اصلی پیدا کنیم.

ساختار پروژه اصلی مشابه ساختار زیر خواهد بود (به عنوان یک مثال) :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

در شکل بالا، محل نسبی فایل AndroidManifest.xml را نمایش داده ایم. پس فایل را باز کرده و نام package و نام Activity اصلی پروژه اندروید اصلی را می خوانیم. همچنین دو مورد minSdkVersion و targetSdkVersion را هم می خوانیم (البته ممکن است نسخه SDK مناسب برای targetSdkVersion را نداشته باشید و می توانید شماره را برابر نسخه ای که دارید، انتخاب کنید و بعد اگر مشکلی وجود داشت، شماره را به همین شماره اصلی تغییر داده و آن نسخه SDK را هم تهیه کنید).

یعنی اگر کد فایل AndroidManifest.xml به صورت زیر باشد :

آنگاه ما موارد مورد نظرمان را از بخش های زیر می خوانیم :

پس نام package برابر com.jayway.gles20 ، نام Activity اصلی برابر GLES20Activity ، مقدار minSdkVersion برابر 11 و مقدار targetSdkVersion برابر 23 می باشد.

با مشخصات مورد نظر، یک پروژه اندروید جدید در Eclipse می سازیم ( کلید شماره 208 ) :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

چک کنید که فایل xml ساخته شده برای Activity اصلی، هم نام با فایل xml موجود در پروژه اندروید اصلی باشد، در غیر این صورت، نام آن را تغییر بدهید (تا یکسان شوند).

خوب حالا در پروژه اصلی، پوشه java را پیدا کرده و محتویات داخل آن (نه خود پوشه java !!!) را copy می کنیم :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

در واقع در این پوشه java ، ساختار package ها و کلاس ها (Class) قرار گرفته است، یعنی دقیقا مشابه پوشه src در پروژه های اندروید ساخته شده توسط Eclipse . بنابراین پس از copy کردن محتویات داخل پوشه java ، آنها را در پوشه src موجود در پروژه ساخته شده توسط Eclipse ، ارسال (Paste) می کنیم. فایل java مربوط به Activity اصلی آن هم جایگزین فایل ساخته شده در پروژه جدید خواهد شد. پس اگر پیامی مبنی بر بازنویسی فایل ها نمایش داده شد، باید گزینه Yes To All را انتخاب کنیم :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

بنابراین ساختار فایل های java که package ها و کلاس ها (Class) را تشکیل می دهند، در پوشه src از پروژه اندروید جدید قرار خواهد گرفت :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

البته معمولا از این مرحله به بعد، به احتمال زیاد خطاهایی برای پروژه اندروید در Eclipse نمایش داده می شود (این پروژه، شانسی بدون خطا است). دلیل آن هم واضح است، ما هنوز فایل های xml موجود در پوشه های layout و values را کپی نکرده ایم و بنابراین هر ارجاعی که در فایل های java به آنها داده شده باشد، یک خطا را ایجاد خواهد کرد.

پس در مرحله بعد، باید فایل های پوشه هایی مثل layout و پوشه values را هم در پروژه جدید کپی کنیم، اما برای این منظور، خود پوشه اصلی res که شامل همه آنها (پوشه menu ، drawable ها و ...) است را کپی می کنیم (یعنی همه پوشه های درون پوشه res را کپی کنید، نه خود پوشه res را !!!) (هنگام نمایش پیام بازنویسی فایل، گزینه Yes To All انتخاب شود) :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

پس محتویات پوشه res پروژه اندروید اصلی را به درون پوشه res پروژه اندروید جدید کپی می کنیم.

در آخر، باید به سراغ فایل AndroidManifest.xml برویم. در این فایل، باید مواردی مثل Activity های پروژه اصلی (که با تگ activity تعریف می شوند)، permission ها و خیلی از موارد دیگر را بر اساس خواندن فایل Androidmanifest.xml پروژه اصلی بنویسیم. یا اگر همه چیز پروژه را دقیقا مثل پروژه اصلی انتخاب کرده ایم، اصلا می توان کدها را کاملا از فایل اصلی کپی کرد :

تبدیل پروژه های اندروید Android Studio به پروژه اندروید Eclipse (یا ADT Bundle)، به روش دستی

سعی کردم هیچ موردی فراموش نشود. معمولا خود خطاهایی که نمایش داده می شوند، به ما یادآوری می کنند که پروژه اندروید جدید چه چیزی کم دارد.

نویسنده علیرضا گلمکانی
شماره کلید 3331
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 1 1 0
hamid
۱۳۹۵/۰۷/۰۳
۲۲:۲۴

برای import کردن فایل gradle یه eclipse چطور باید پلاگینشو نصب کنیم؟
چون اگه بخوایم بذاریم خود اکلیپس از بخش install new software توی help این کارو انجام بدیم نمیشه.
بخاطر ip ایران.

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)