如果LOCAL_SERVER为True,则失败Android发布版本?

时间:2014-01-15 03:50:11

标签: android eclipse google-play proguard

经常进行一些本地测试之后,我为Play商店构建并签署了一个版本的Android应用,其LOCAL_SERVER标志仍然设置为true。当然,这会导致应用程序失败,因为一般来说,我的用户无法访问我的192.168.1.x服务器。

有没有办法让发布过程能够以某种方式自动检测我在“测试”状态下保持不变并在Google Play接受之前失败?

  • 我想也许我可以有条件地打电话给假人班 有ProGuard(只能在“发布”版本上运行)强制剥离该类,然后生成一个 错误,因为它找到了一个不存在的类的调用。 但ProGuard没有选择强制剥离课程。

  • 我想也许我可以强迫“android:debuggable = true” 然后导致上传到Play商店失败。但我找不到任何办法 根据Java常量设置AndroidManifest标志。

还有其他想法吗? 我正在使用Eclipse进行开发。

2 个答案:

答案 0 :(得分:1)

  1. 发布清单。

  2. 在发布之前测试签名版本。

  3. 一个JUnit测试,用于检查字段的值(您仍然需要记住运行它)。

答案 1 :(得分:1)

更好的是,停止设置LOCAL_SERVER

class MyClass
{
    final private boolean USE_LOCAL_SERVER = true;
    void myMethod()
    {
       LOCAL_SERVER = (MyClass.class.getName().equals("mypackagename.MyClass")) ? USE_LOCAL_SERVER : false;
    }
}

由于proguard会混淆MyClass的名称,因此当proguard运行时,LOCAL_SERVER将始终为false。