0

在我的 Java 代码中,我使用Debugflag 来控制 debug 模型,如果是 debug ,还有一些额外的功能,例如:sway phone show a activityto change app version。现在我想在将代码发布到市场时删除这些代码。

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

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

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

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

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

1 回答 1

1

如果你做isDebug final static

final static boolean isDebug = false;

Java 编译器将完全删除未到达的代码部分。Sp 在您的示例中,“then”部分被完全省略,因此在您的 apk 中不可用。

此外,在创建(发布)apk 构建时,Android 工具将删除所有未使用的方法和类。所以,如果你的VersionSwitchService类只用于调试,它就不会出现(由于static final调试常量的组合)

于 2013-01-25T09:52:41.387 回答