Android Gradle的一些简单配置,让开发更简单

无简介

开发、准生产、生产多服务器,需要不同的URL,打包时需要切换

第一步:

首先打开module的build.gradle 在android根中添加下面的代码

productFlavors {
    dev {
    		resValue "string", "app_name", "sumile_dev"
    }
    userTest {
        resValue "string", "app\_name", "sumile\_test"
    }

    online {
        resValue "string", "app\_name", "sumile\_online"
    }
}

其中dev、userTest、online等名字以及个数都可以改变,大小写不限(但是不可以使用test)

productFlavors通常是指同一软件的不同版本,比如收费版,免费版。这个版本的逻辑肯定是不一样的。它会自动将不同版本的代码分别和通用代码进行组合,根据上面的配置打包成不同的包。 关于productFlavors详细的介绍,参考这里的官方文档或我保存的这份(product-flavors)(没法翻墙的话)

根据上面的介绍,其实可以想到,我们要做的切换url打包,其实就类似于多个不同的版本,版本与版本之间请求的服务器的地址是不同的

第二步:

首先打开src目录,在src目录下按照第一步中的三个版本的名字新建文件夹 之后在其中一个文件夹下面新建一个文件夹[java],java下面新建包,包名可以和你main下面的不同 然后复制java目录到其他文件夹下面(本例中为dev和online) 最终结果如下: 从图中可以看到,userTest文件夹下面的代码被识别成了java,而其他的两个没有被识别到。 你连着手机点运行的时候,这里被识别成java的代码就会是当前使用的代码,另外两个不会被使用到,如果你想要切换使用的代码,只要在Build Variants中切换就好了 另外要着重注意的是: 如果main文件夹下的package名和你新建的package名相同的话,同目录下不要有相同的文件 接下来在每个Config.java中定义它们不相同的地方,比如下面我把它们每个url都加上了它们的版本的名字 然后就正常使用就可以了 接下来打包 按住shift可以都选择了,finish完成,就可以打出来三个包了

调试微信—每次必须打包再测的烦恼

module的build.gradle的android下面添加如下代码:

1
2
3
4
5
6
7
8
signingConfigs {
debug {
storeFile file("../keystore.jks")
storePassword "123456"
keyAlias "sumile"
keyPassword "123456"
}
}

路径可以根据相对或绝对路径去匹配,推荐还是相对路径(使用Mac和Windows) 这样配置的话,以debug模式运行的时候用的就是配置的keystore了

-------------本文结束  感谢您的阅读-------------
下次一定