编译AOSP模块(如SystemUI)时如何跳过测试编译?
如何完全跳过SystemUI测试代码的编译?
当执行mmm frameworks/base/packages/SystemUI编译SystemUI时,默认会同步编译对应的测试代码。要完全跳过测试代码的编译,可通过以下方式实现:
使用
SKIP_TESTS=true环境变量:这是最便捷的全局跳过测试编译的方式,直接在编译命令前添加该变量即可,示例命令:SKIP_TESTS=true mmm frameworks/base/packages/SystemUI该参数会让编译系统直接忽略所有测试模块的编译目标,不会再出现类似
[100% 51/51 47s remaining] //frameworks/base/packages/SystemUI/tests:SystemUITests install SystemUITests.apk [common]的测试编译输出。临时修改模块配置文件:如果仅需针对SystemUI模块跳过测试,可找到
frameworks/base/packages/SystemUI/tests/目录下的Android.bp配置文件,临时注释掉测试模块的定义。不过这种方式需要修改代码文件,不如环境变量的方式灵活通用。
需要注意的是,DISABLE_ROBO_RUN_TESTS=true仅能跳过Robolectric测试的执行环节,并不会跳过测试代码本身的编译,和SKIP_TESTS=true的作用完全不同。
内容的提问来源于stack exchange,提问作者Nate
相关产品推荐
相关产品推荐

