android 模拟宏定义,实现Debug & Release 模式
2012-10-22 12:25
357 查看
以前在C/C++ 开发中,我们可以宏定义,Debug模式下,输出日志,方便测试。Release模式下,无日志输出。
使用Java时,Java 是解释语言,无法编译。就无模式之分了。有没有办法实现,Debug、Release版?
debug 输出日志、调试信息。
release 发布版本,无输出日志、调试信息。
办法是人想出来的。
下面说说我的解决方案:
1 模拟C宏定义。
2 重定义日志输出类
3 我们工程中使用:
原来使用
Log.i, Log.d, log.e ...
Log.i(TAG,“log”);
使用重定义的日志
Trace.i, Trace.d Trace.e...
Trace.i(“”, “”);
发布版本时,我们只需要将isDebug = false.即可。Release版就干干净净。无日志信息。
安毕。
是不是很简单呀! :)
使用Java时,Java 是解释语言,无法编译。就无模式之分了。有没有办法实现,Debug、Release版?
debug 输出日志、调试信息。
release 发布版本,无输出日志、调试信息。
办法是人想出来的。
下面说说我的解决方案:
1 模拟C宏定义。
package cn.eben.hpc.define; public final class BuildConfig { public final static boolean isDebug = true;// 通过改变isDebug,实现Debug、Release版 }
2 重定义日志输出类
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版就干干净净。无日志信息。
安毕。
是不是很简单呀! :)
相关文章推荐
- 不要在DEBUG模式下使用STL实现"复杂的"算法
- 使用Xcode DEBUG模式和RELEASE模式 ... 宏定义实现注释功能
- Android 判断是开发debug模式,还是发布release模式
- Debug 模式 和 Release 模式下,一个线程在"编译"上引发的问题
- Android 判断是开发debug模式,还是发布release模式
- 查看keystore别名等信息&替换android自带的debug.keystore&debug和release的区别。
- OpenCV:Debug和Release模式 && 静态和动态编译
- makefile debug && release 模式
- Android WindowManager的使用 & 添加 遮罩层 实现夜间模式
- android studio的debug和release模式下使用不同的Http前缀进行测试与正式环境的自动切换
- Android 判断是开发debug模式,还是发布release模式的方法
- Android 判断是开发debug模式,还是发布release模式
- Android studio gradle debug模式用Release签名
- Android studio debug 模式 使用release签名
- Android在debug和release模式自动加载不同的配置文件
- Android:让WebView支持<input type="file"…>元素,实现文件上传
- 模拟大华或海康相机的循环&&动态链接库的形式实现&&回调函数的使用
- Android实现夜间模式切换功能实现代码
- 一篇文章看明白 Android Activity 启动模式 & IntentFilter匹配规则
- 模板设计模式_组合&继承实现