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

Vic*_*Pls 5 android android-studio android-gradle-plugin

我想使用不同的数据库文件进行调试和发布构建.是否可以使用gradle和两个不同的目录(例如assetsassets_deb)来完成它?

应用程序中的验证码就像这样android.os.Debug.isDebuggerConnected()不适合我的情况.

谢谢

Gab*_*tti 17

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

app/src/main/assets
app/src/debug/assets
app/src/release/assets
Run Code Online (Sandbox Code Playgroud)

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

sourceSets {

        main.java.srcDirs = ['...']
        main.res.srcDirs = ['...']
        main.assets.srcDirs = ['...']
        debug.assets.srcDirs = ['...']
        flavor1.assets.srcDirs = ['...']
    }
Run Code Online (Sandbox Code Playgroud)

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

buildTypes {
        debug {
            buildConfigField "boolean", "MYVALUE", "true"
        }
        release {
            buildConfigField "boolean", "MYVALUE", "false"
        }
    }
Run Code Online (Sandbox Code Playgroud)

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

public class BuildConfig {
    // ... other generated fields ...
    public static final boolean MYVALUE = false;
}
Run Code Online (Sandbox Code Playgroud)