首页 > 解决方案 > 如何在编译 APK(Release) 时排除文件夹

问题描述

只是想问一下如何在编译发布 APK 时排除文件夹。我有这个 Resources 文件夹,其中填充了用于我的模拟的 json 文件(仅限调试),但在编译为 Release Apk 时希望排除它。

请参阅附件图像图像

标签: androidkotlin

解决方案


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

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 类将包含基于上述指令的以下字段:

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

推荐阅读