日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 宏替换_android 模拟宏定义,实现Debug amp; Release 模式-一团网

發布時間:2025/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 宏替换_android 模拟宏定义,实现Debug amp; Release 模式-一团网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以前在C/C++ 開發中,我們可以宏定義,Debug模式下,輸出日志,方便測試。Release模式下,無日志輸出。

使用Java時,Java 是解釋語言,無法編譯。就無模式之分了。有沒有辦法實現,Debug、Release版?

debug 輸出日志、調試信息。

release 發布版本,無輸出日志、調試信息。

辦法是人想出來的。

下面說說我的解決方案:

1 模擬C宏定義。

[java]

package cn.eben.hpc.define;

public final class BuildConfig {

public final static boolean isDebug = true;// 通過改變isDebug,實現Debug、Release版

}

2 重定義日志輸出類

[java]

package cn.eben.hpc.define;

import java.lang.reflect.Method;

import android.util.Log;

public class Trace {

public final static void e(String tag, String msg, Throwable tr) {

if (BuildConfig.isDebug)

Log.e(tag, msg, tr);

}

public final static void e(String tag, String msg) {

if (BuildConfig.isDebug)

Log.e(tag, msg);

}

public final static void e(String msg) {

if (BuildConfig.isDebug)

Log.e("", msg);

}

public final static void e(Throwable tr) {

if (BuildConfig.isDebug)

Log.e("", "", tr);

}

public final static void d(String tag, String msg) {

if (BuildConfig.isDebug)

Log.d(tag, msg);

}

public final static void d(String msg) {

if (BuildConfig.isDebug)

Log.d("", msg);

}

public final static void d(Throwable tr) {

if (BuildConfig.isDebug)

Log.d("", "", tr);

}

}

3 我們工程中使用:

原來使用

Log.i, Log.d, log.e ...

Log.i(TAG,“log”);

使用重定義的日志

Trace.i, Trace.d Trace.e...

Trace.i(“”, “”);

發布版本時,我們只需要將isDebug = false.即可。Release版就干干凈凈。無日志信息。

安畢。

是不是很簡單呀! :)

總結

以上是生活随笔為你收集整理的android 宏替换_android 模拟宏定义,实现Debug amp; Release 模式-一团网的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。