PDA

View Full Version : انتشار و logها



hamid2006
چهارشنبه 21 مرداد 1394, 22:23 عصر
برای انتشار برنامه باید logهایی که برای debug,... استفاده کردیم را باید حذف کنیم یا نیازی نیست
اگر نیاز هست این روش خوبه
StackOverFlow (http://stackoverflow.com/questions/13218772/removing-log-call-using-proguard/13327603#13327603)

jamal_ch
پنج شنبه 22 مرداد 1394, 13:44 عصر
برای انتشار برنامه باید logهایی که برای debug,... استفاده کردیم را باید حذف کنیم یا نیازی نیست
اگر نیاز هست این روش خوبه
StackOverFlow (http://stackoverflow.com/questions/13218772/removing-log-call-using-proguard/13327603#13327603)

سلام من تا حالا حذف نکردم و به مشکلی هم نخورده برنامه هام

pbm_soy
پنج شنبه 22 مرداد 1394, 15:54 عصر
قاعدتا لاگ کردن مقداری cpu و دیگر منابع را اشغال خواهد چون بلاخره کاری است که باید توسط دستگاه انجام بشه پس بهتر که حذف کنید و یا غیر فعال کنید

Nevercom
پنج شنبه 22 مرداد 1394, 18:20 عصر
ProGuard رو فعال کنید و کدهای زیر رو به فایل proguard-rules.pro اضافه کنید


-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}

در این حالت وقتی پروژه رو در حالت release کامپایل می کنید و برای انتشار آماده می کنید، تمام Log ها رو از کد حذف می کنه

آپدیت: لینکی که گذاشته بودید و به همین روش اشاره میکرد رو ندیده بودم، بنظر من بهتره تمام Log ها تو نسخه ی نهایی حذف بشه، چون علاوه بر پردازش الکی، ممکنه باعث کرش برنامه هم بشه (مثلاً جایی تو Log این رو نوشتید: object.toString()، در این حالت گه object برابر null باشه، برنامه کرش می کنه)

و روش مناسب از دید من همین ProGuard هست، مگر اینکه به دلایلی خاص نخواید از ProGuard استفاده کنید

hamid2006
پنج شنبه 22 مرداد 1394, 21:26 عصر
ممنون دوستان.
چون خیلی کلاس ندارد من حذف و بعضی را کامنت کردم.

ولی برای برنامه های بعدی فکر کنم بهترین کار همین تغییرات در proguard باشد.