productFlavors
①If you need to add more flavors, consider using flavor dimensions.
android{
//...
productFlavors{
mock {
applicationIdSuffix = ".mock"
}
prod {
}
}
//...
}
②删除mockRelease,因为它不需要。
android.variantFilter { variant ->
if(variant.buildType.name.equals('release')
&& variant.getFlavors().get(0).name.equals('mock')) {
variant.setIgnore(true);
}
}
③选择Build Variants
由于②删除mockRelease
所以只剩下
mockDebug
prodDebug
pordRelease
④D:\Admin\workspace\todoapp\app\src目录添加mock,prod,androidTestMock三个目录
*注
mock,prod,androidTestMock 三个目录必须包含java目录和完整包名
如:
D:\admin\workspace\todoapp\app\src\mock\java\com\example\android\architecture\blueprints\todoapp
mock和prod目录是通过productFlavors添加到项目里的,androidTestMock目录是自动添加到项目里的,前提先有mock才行!
也就是我再添加一个product
android{
productFlavors{
mock {}
prod {}
product {}
}
}
在创建一个androidTestProduct目录
D:\admin\workspace\todoapp\app\src\androidTestProduct\java\com\example\android\architecture\blueprints\todoapp\
Build Variants 选择 productRelease 或 productDebug 都会自动把androidTestProduct 添加到项目里!