خطای Unable to resolve target 'android-*' در برنامه eclipse ، در برنامه نویسی اندروید
گاهی ممکن است که هنگام کار با یک پروژه اندروید در برنامه eclipse ، با خطایی تحت عنوان زیر روبرو شویم :
که در آن، بجای علامت * ، یک عدد نوشته می شود، مثل عبارت زیر :
همان طور که از خود عبارت خطا نیز می توان متوجه شد، این خطا، مربوط به مشخصه targetSdkVersion است که در فایل AndroidManifest.xml پروژه اندروید، آن را تعیین می کنیم (البته ممکن است عوامل دیگری نیز باعث به وجود آمدن این خطا شود، ولی راه حلی که در اینجا خواهیم گفت، مشکل همه آنها را برطرف می کند). عبارت کلی مربوط به targetSdkVersion در فایل AndroidManifest.xml ، به صورت زیر می باشد (شماره ها قابل تغییر است) :
android:minSdkVersion="4"
android:targetSdkVersion="15" />
معمولا هم وقتی یک پروژه اندروید را به درون برنامه eclipse وارد (import) می کنیم، ممکن است که در کنار نام پروژه اندروید، یک علامت خطا نمایش داده شود، ولی در کنار هیچیک از فایل های پروژه اندروید، علامت خطایی نبینیم و بنابراین متوجه نشویم که خطا از چیست. در اینگونه موارد باید در پنجره Problems از برنامه eclipse ، عبارت مربوط به خطا را بخوانیم. مثل شکل زیر :
روش اصلی برای برطرف کردن این مشکل این است که آن نسخه از اندروید را که به عنوان targetSdkVersion در نظر گرفته شده است، در فولدرهای برنامه Android SDK Manager قرار بدهیم. البته اگر برایتان مهم است که targetSdkVersion حتما برابر آن نسخه باشد. برای این منظور هم ابتدا باید آن نسخه اندروید را از اینترنت دریافت کرده و سپس به فولدربندی برنامه Android SDK Manager رفته و آن نسخه از اندروید را درون فولدر platforms کپی نمایید (یا اینکه مستقیما آن را از لیست بسته های نرم افزاری که در پنجره برنامه Android SDK Manager نمایش داده می شود، نصب کنید، بنابراین نیازی به دانلود نیست و خود برنامه Android SDK Manager ، آن بسته را دانلود کرده و در فولدر مورد نظر قرار می دهد). راه حل دیگر هم این است که اصلا مشخصه targetSdkVersion در فایل AndroidManifest.xml را حذف کنید.
برای حذف این مشخصه، به عنوان مثال، کد زیر :
android:minSdkVersion="4"
android:targetSdkVersion="15" />
باید به این کد تبدیل شود :
android:minSdkVersion="4" />