android - 如何在编译 APK(Release) 时排除文件夹
问题描述
只是想问一下如何在编译发布 APK 时排除文件夹。我有这个 Resources 文件夹,其中填充了用于我的模拟的 json 文件(仅限调试),但在编译为 Release Apk 时希望排除它。
请参阅附件图像图像。
解决方案
您可以使用不同的资产文件夹,例如:
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;
}
推荐阅读
- javascript - JavaScript 通过上层元素获取下层元素
- algorithm - 仅提供后序遍历的二叉树中序遍历
- python - 如何在查询集中列出用户的属性
- java - 请求的资源在 spring mvc 中的 Tomcat v7 中不可用
- wordpress - wordpress 网站在本地工作,但不在域中
- javascript - 以异步/等待方式编写方法
- node.js - Mongoose - 添加批量并检索添加和删除的重复次数
- python - 对于在 Python 中处理 CSV 文件,如何编写具有多列的行而不让它变成字母或在单列中结束?
- c++ - gcc linux x86-64 C++中的有效指针是什么?
- inheritance - Dart类继承:如何将父类的所有属性分配给子子