制作APP時如何解決Log輸出控制?深圳APP開發(fā)公司本文就這個問題與各位進行分享,控制APP是否輸出Log可以采用以下兩種方案。
(1)Debug版本輸出Log,Release版本不輸出Log。A通過BuildConfig.DEBUG的值控制是否輸出Log。public class MyLog {
private static final String TAG = "MyApp"; public static void v( String tag, String msg){ if( BuildConfig. DEBUG){ if( tag == "") { Log. v( TAG, msg); } else { Log. v( tag, msg); } } } … }
B在混淆配置文件中,將類Android.util.Log的方法設置為無效代碼。
-assumenosideeffects class android. util. Log { public static int v(...); public static int i(...); public static int w(...); public static int d(...); public static int e(...); }
這種方式不僅可以控制Release版本不輸出Log,還能減小Release版本所占空間大小。需要注意的是,在混淆配置文件中不能有關閉優(yōu)化的配置-dontoptimize,否則上述方法將無效。
(2)Debug版本輸出Log,Release版本只在特定場景下輸出Log。通過特定變量的值控制是否輸出Log。如在Debug版本中,IsEnableLog的值為true;在Release版本中默認為false,但通過特別的方式,如連續(xù)多次點擊某個區(qū)域,IsEnableLog的值也會變?yōu)閠rue,這樣在Release版本中也可以輸出Log,代碼如下所示:
public class MyLog { private static final String TAG = "MyApp"; public static void v( String tag, String msg){ if( IsEnableLog){ if( tag == "") {
Log. v( TAG, msg); } else { Log. v( tag, msg); } } } … }
深圳APP開發(fā)公司提醒:有時會出現(xiàn)Debug版本沒有問題,但Release版本有問題的情況,按上述方式,就比較容易處理這種情況。好了,APP開發(fā)公司本文關于“制作APP時如何解決Log輸出控制”方法就分享到這里,謝謝關注,博納網(wǎng)絡編輯整理。