Android技术知识Android知识手机移动程序开发

Android根据release和debug模式调用不同的类

2017-01-06  本文已影响1813人  LeoYe168

前言

一般情况下我们apk有debug和release两种包,这是因为buildTypes有debug release两种类型,gradle还提供了多渠道打包区别打不同功能apk版本,在productFlavors中设置,我们项目中三个版本,因此道理上讲我们可以打出6种类型的apk。在AS左下角的buil variant工具栏可以查看。

需求

根据productFlavors的不同,不同版本可以配置各种的appname packname applocationid 等等,这些配置都是在gradle文件中配置即可,那是否能实现不同版本调用不同的java代码么。答案也是肯定的,同理debug和release版本也可以实现编译不同的代码。

原理

gradle在编译之前,会对工程进行合并(merge),其中Java代码的merge方式是目录整合。具体是把main目录的Java文件 + 当前buildType目录的Java文件 + 当前productFlavor目录的文件直接整合到同一个目录。

实现


在src目录下新建main的同级目录debug和release,分别在里建java目录,java目录放各种不同的java代码。

注意

总结

怕出锅,就老实切换build variant模式,看编译是否通过。。因为默认都是debug模式的,一般往往release模式需要特别调。

上一篇下一篇

猜你喜欢

热点阅读