2014-09-24 98 views
1

在项目结构我有释放和调试版本类型enter image description here如何更改设置调试版本Android Studio中

如何设置不同版本NetworkSettings.java文件建立不同类型的。 例如,对于发布

public class NetworkSettings { 
    private final static String SERVER_URL="releaseserver.com"; 
    private final static int SERVER_PORT=80; 

    public static String getServerUrl() 
    { 
     return SERVER_URL; 
    } 
    public static int getServerPort() 
    { 
     return SERVER_PORT; 
    } 
} 

和调试

public class NetworkSettings { 
    private final static String SERVER_URL="testserver.com"; 
    private final static int SERVER_PORT=80; 

    public static String getServerUrl() 
    { 
     return SERVER_URL; 
    } 
    public static int getServerPort() 
    { 
     return SERVER_PORT; 
    } 
} 

我想用生成类型,以免忘记手动更改它这样做。

回答

2

您可以通过多种方式获得。

例如,您可以使用您的BuildConfig。 同样使用Gradle,您可以在BuildConfig类中生成其他字段

android { 
    ... 
    buildTypes { 
     debug { 
      buildConfigField "boolean", "MY_VAR", "true" 
     } 
     main { 
      buildConfigField "boolean", "MY_VAR", "false" 
     } 
     ... 
    }  
} 

然后..

if (BuildConfig.MY_VAR) { 

} 

否则,你可以使用提供不同的实现同一类的不同的风味

注意的是:你必须从main

app/ 
|--libs/ 
|--src/ 
    |--flavor1/ 
    | |--java/ 
    |  |--com/example/ 
    |  |--Flavor.java 
    |--flavor2/ 
    | |--java/ 
    |  |--com/example/ 
    |  |--Flavor.java 
    |--main/ 
     |--java/ 
     | |--... 

当然你中省略这个类在你的build.gradle申报这些味道

productFlavors { 
    flavor2 { 
    } 
    flavor1 { 
    } 
} 

您还可以使用构建键入,添加名为debug和release的文件夹。

app/ 
    |--libs/ 
    |--src/ 
     |--debug/ 
     | |--java/ 
     |  |--com/example/ 
     |  |--MyClass.java 
     |--release/ 
     | |--java/ 
     |  |--com/example/ 
     |  |--MyClass.java 
     |--main/ 
      |--java/ 
      | |--... 
0

尝试这样的事情,我想DN IDE会支持这样的事情

在你的类..

private final static boolean DEVELOPMENT_MODE = true; 
private final static String SERVER_URL; 
private final static int SERVER_PORT = 80; 

static{ 
    SERVER_URL = ((DEVELOPMENT_MODE) ? "releaseserver.com" : "testserver.com"); 
} 
+0

我不想手动更改DEVELOPMENT_MODE。这是最简单的方法,我想要一点自动化) – 2014-09-24 06:00:29

相关问题