如何让我的Android应用程序干净?

时间:2013-01-25 09:48:09

标签: android debugging

在我的Java代码中,我使用Debug标志来控制调试模型,如果是调试,还有一些额外的功能,例如:摇摆手机显示activity来更改应用版本。现在我想在将代码发布到市场时删除这些代码。

与下面的代码一样,有没有办法让VersionSwitchService.class代码为null而其他代码正常运行?

我的意思是即使有人反编译apk,VersionSwitchService.class代码也会被视为空白。

if (isDEBUG) {
    VersionSwitchService.libStart(this, new LibVersionSwitch() {

        @Override
        public void versionSwitchToOnline() {
            //...
        }

        @Override
        public void versionSwitch(String version) {
            //...
        }
     });
}

1 个答案:

答案 0 :(得分:1)

如果您isDebug final static

final static boolean isDebug = false;

Java编译器将完成删除未到达的代码部分。在你的例子中,'then'部分被完全省略,因此在你的apk中不可用。

此外,在创建(发布)apk版本时,Android工具将剥离所有未使用的方法和类。因此,如果您的VersionSwitchService类仅用于调试,则它不会出现(由于static final调试常量的组合)