خطاها با متن قرمز رنگ نمایش داده می شوند. البته توجه داشته باشید که هر خطایی منجر به ایجاد Force Close نخواهد شد، یعنی حتی اگر یک برنامه بدون مشکل را با این شیوه در برنامه eclipse خطایابی (debug) کنید، ممکن است چند پیام به رنگ قرمز رنگ به شما نمایش بدهد، اما برنامه بدون هیچ مشکلی بر روی گوشی کار کند.
اما این موردی که شما گفتید، یک سوال برای من به وجود آورد. یعنی شما تنها با داشتن فایل apk (بدون داشتن پروژه اندروید اصلی)، عمل خطایابی (debug) را انجام داده اید ؟
احتمالا در برنامه eclipse ، به بخش DDMS رفته اید و با متصل کردن گوشی به کامیوتر، سعی کرده اید که خطایابی کنید (با انتخاب نام package آن برنامه در لیست برنامه های در حال اجرای گوشی اندروید و سپس انتخاب گزینه debug)، اما دقت داشته باشید که وقتی این عمل را انجام می دهید، برنامه eclipse ، نام package برنامه در حال اجرا در گوشی را دریافت کرده و سپس در قسمت Package Explorer به دنبال پروژه اندرویدی می گردد که دارای نام آن package باشد و سپس بر اساس کدهای آن پروژه اندروید، خطایابی می کند. خوب شما برنامه سالم و اصلی را در گوشی دارید اما پروژه اندروید ناقص در برنامه eclipse موجود است، بنابراین دیگر خودتان حساب کنید که نتیجه چه می شود.
شما پروژه اندروید ناقص را از قسمت Package Explorer برنامه eclipse حذف کنید، مشاهده خواهید کرد که اگر دوباره بخواهید به همین روش، خطایابی کنید، برنامه eclipse اخطار می دهد که هیچ package ای با آن نام، در Package Explorer پیدا نکرده است.
تازه، این مواردی هم که من گفتم، زمانی امکان پذیر است که در فایل AndroidManifest.xml ، برنامه نویس، ویژگی زیر را تعیین کرده باشد (در اصطلاح، debuggable شده باشد) :
کد:
android:debuggable="true"
که معمولا برنامه نویسان، وقتی می خواهند برنامه اندروید خود را به فروشگاه بدهند، مقدار true را به false تغییر می دهند تا خطایابی امکان پذیر نباشد.
البته فکر کنم اگر برنامه debuggable باشد، بتوان به نحوی آن را خطایابی کرد (این را دقیق نمی دانم)، مثلا لینک زیر را ببینید :
http://visualgdb.com/tutorials/android/quickdebug/