release 版本的apk 为何还会在logcat中输出debug的log呢? 本帖最后由 Daniel_Cao_ 于 2010-09-19 14:12:57 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个realse版是不是只是把生成目标的debug信息给去掉了? 如果release 版本也会输出log(logcat中)的话,et中下载的大多软件没有看到有log。难道他们是在release之前把所有的Log.d,Log.i...都注释掉... 这个还真没注意。Framework和Hal下面都会打出来吗? 搞明白了,谢谢楼上的回复。这个跟android没有关系。java 虚拟器本身的问题。 java和c++不同没有预处理和micro,所以debug和release的编译时无法改变log逻辑。所以只能用如下做法(这个我倒是在java项目中常用,总以为android有framework上的优越机制:))final static boolean DEBUG_LOG = false;if(DEBUG_LOG){ Log.i("..............");}因为编译器本身有优化,所以在DEBUG_LOG=true时, if代码段将会忽略不会编译。 你可以看一下Android 源码里面Config这个类的用法。正确做法应该是if(Config.DEBUG) Log.d("TAG","MSG"); Android-x86使用心得 点击.APK文件 安装成功后点击打开(再复归)遇到的问题 android中如何覆盖控件 无法模拟发送短信 使用堆栈管理activity,第二次启动时进入程序黑屏? Android应用程序运行出错 请问如何自己写个日期选择插件? json解析 怎么获取到通过intent跳转到本页面的上一个Activity 1号店每过10分钟就会自动启动到前台 最近项目中遇见的问题和参考资料 Sax解析解析遇见中文就解析报not well-formed 异常 如何按照文件夹取得所有音乐文件?
{
Log.i("..............");
}因为编译器本身有优化,所以在DEBUG_LOG=true时, if代码段将会忽略不会编译。
正确做法应该是if(Config.DEBUG)
Log.d("TAG","MSG");