Android Gradle 的一些简单配置,让开发更简单 – 热爱改变生活
我的GitHub GitHub |     登录
  • If you can't fly, then run; if you can't run, then walk; if you can't walk, then crawl
  • but whatever you do, you have to keep moving forward。
  • “你骗得了我有什么用,这是你自己的人生”
  • 曾有伤心之地,入梦如听 此歌

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

Android sinvader 4819℃ 0评论

开发、准生产、生产多服务器,需要不同的 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 下面添加如下代码:

signingConfigs {
        debug {
            storeFile file("../keystore.jks")
            storePassword "123456"
            keyAlias "sumile"
            keyPassword "123456"
        }
    }

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

¥ 有帮助么?打赏一下~

转载请注明:热爱改变生活.cn » Android Gradle 的一些简单配置,让开发更简单


本博客只要没有注明“转”,那么均为原创。 转载请注明链接:sumile.cn » Android Gradle 的一些简单配置,让开发更简单

喜欢 (0)
发表我的评论
取消评论
表情

如需邮件形式接收回复,请注册登录

Hi,你需要填写昵称和邮箱~

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址