2013-06-04 34 views
0

有没有一种在调试时关闭乱舞的有效方法?android - 在调试时关闭乱舞

现在我能想到的最好的办法是设置一个DEBUG变量设置为true在一个文件中,并在所有的活动中

super.onStart(); 
    if(PublicStuff.DEBUG != true) //if debug = false run this code 
     FlurryAgent.onStartSession(this, "2C3QVVZMX8Q5M6KF3458"); 

做我也需要区分出乱舞logEvent方法?

有没有更好的方法?

感谢

回答

2

看在Debug类的isDebuggerConnected()方法。这告诉你到底你需要知道什么。

+0

好这个方法是寻找一个调试器,但如果手机没有连接到电脑什么,但仍使用与调试密钥库创建一个构建,例如,如果您拔掉了设备从电脑走开。 – CQM

+4

使用无效的Flurry键(我使用'XXX')进行开发。然后使用ant构建您的应用程序版本,并在构建过程中使用生产密钥替换密钥。这样你可以为不同的版本(dev,test和prod)设置不同的密钥。 – SimonSays

0

这是我如何实现这一目标的。我创建了一个类似于UserEvents类的东西,其中包含所有可分析的可记录事件(在本例中为Flurry)。在记录事件之前,我检查构建是否不处于DEBUG模式。请参见下面的代码示例:

public class UserEvents { 
    public static final String CLICK_RATINGS = "click_ratings"; 
    public static final String CLICK_SHARE = "click_share"; 
    public static final String CLICK_CREDITS = "click_credits"; 
    public static final String CLICK_PRIVACY = "click_privacy"; 
    ... 

    private static boolean isNotLoggable(){ 
     return BuildConfig.DEBUG; 
    } 

    public static void logEvent(String event) { 
     if(isNotLoggable()) return; 
     logEvent(event); 
    } 

    ... 
}