经常进行一些本地测试之后,我为Play商店构建并签署了一个版本的Android应用,其LOCAL_SERVER
标志仍然设置为true。当然,这会导致应用程序失败,因为一般来说,我的用户无法访问我的192.168.1.x服务器。
有没有办法让发布过程能够以某种方式自动检测我在“测试”状态下保持不变并在Google Play接受之前失败?
我想也许我可以有条件地打电话给假人班 有ProGuard(只能在“发布”版本上运行)强制剥离该类,然后生成一个 错误,因为它找到了一个不存在的类的调用。 但ProGuard没有选择强制剥离课程。
我想也许我可以强迫“android:debuggable = true” 然后导致上传到Play商店失败。但我找不到任何办法 根据Java常量设置AndroidManifest标志。
还有其他想法吗? 我正在使用Eclipse进行开发。
答案 0 :(得分:1)
发布清单。
在发布之前测试签名版本。
一个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。