使用不同的资产进行调试和发布

时间:2016-09-30 10:33:15

标签: android android-studio android-gradle

我想使用不同的数据库文件进行调试和发布构建。是否可以使用gradle和两个不同的目录来完成,例如 assets assets_deb

应用中的验证码,例如此android.os.Debug.isDebuggerConnected(),不适合我的情况。

由于

3 个答案:

答案 0 :(得分:12)

您可以使用不同的资源文件夹,例如:

app/src/main/assets
app/src/debug/assets
app/src/release/assets

或者您可以在build.gradle文件中定义不同的src文件夹:

sourceSets {

        main.java.srcDirs = ['...']
        main.res.srcDirs = ['...']
        main.assets.srcDirs = ['...']
        debug.assets.srcDirs = ['...']
        flavor1.assets.srcDirs = ['...']
    }

要检查“调试”值,您可以使用默认的BuildConfig.DEBUG 以同样的方式,您可以定义自己的布尔值:

buildTypes {
        debug {
            buildConfigField "boolean", "MYVALUE", "true"
        }
        release {
            buildConfigField "boolean", "MYVALUE", "false"
        }
    }

自动生成的BuildConfig class将包含基于上述指令的以下字段:

public class BuildConfig {
    // ... other generated fields ...
    public static final boolean MYVALUE = false;
}

答案 1 :(得分:2)

是的,你可以。只需在src文件夹中创建另一个文件夹,如下所示:

- src
-----调试
---------资产
-----主要 ---------资产

如果在调试模式下需要不同的应用程序名称,您也可以在res/value文件夹中定义新的debug文件夹。

答案 2 :(得分:0)