为了方便开发,都会有不同的网络环境

android 开发中我们在项目上线前都需要结果大量的测试,为了方便不同环境的测试,我们需要打不同网络环境的apk

今天给大家分享下一个项目打三种apk,这三种apk可以在手机上并行安装,不会出现覆盖

主要利用build.gradle 的productFlavors

下面直接上代码 这些代码都是在build.gradle文件里android目录下的

flavorDimensions "color"productFlavors {    productrRelease {        applicationId "com.example.lishuai.productflavorsapk"        resValue "string", "app_name", "FlavorsApk"        buildConfigField 'int', 'SDK_APPID', '123'        buildConfigField 'String', 'URL_HTTP', '"www.baidu.com"'        manifestPlaceholders = [                JPUSH_PKGNAME: applicationId,                JPUSH_APPKEY : "3cd6db0f0d84ef85f6a38ed3",                JPUSH_CHANNEL: "developer-default",                _AMAP_KEY    : "63622f57b1ed9b3b9a11e4707422cbc7",                _UMENG_KEY   : "5ad446b3f29d98062d00007d",        ]        dimension "color"    }
productrDebug {    applicationId "com.example.lishuai.productflavorsapk.debug"    resValue "string", "app_name", "FlavorsDebug"    buildConfigField 'int', 'SDK_APPID', '567'    buildConfigField 'String', 'URL_HTTP', '"www.mi.com"'    manifestPlaceholders = [            JPUSH_PKGNAME: applicationId,            JPUSH_APPKEY : "3cd6db0f0d84ef85f6a38ed3",            JPUSH_CHANNEL: "developer-default",            _AMAP_KEY    : "63622f57b1ed9b3b9a11e4707422cbc7",            _UMENG_KEY   : "5ad446b3f29d98062d00007d",    ]    dimension "color"}}

添加后编译会报错,这时候我们还需要添加些东西

在build.gradle文件里defaultConfig目录下添加 multiDexEnabled true

这时候我们本来是可以开始打包的,但是我们为了区分不同的apk的环境,我们可以把applicationId 的对应包名改了

app_name 对应AndroidManifest里面Application的lable的内容,app_name的字段不要在strings.xml文件里面出现

在productrRelease节点下有一个int类型的数据和String的数据(String的后面所根的值格式必须是'"sss"'这样的) 

我们想要用这两个根据打包类型变更的数据的话,可以这样引用 BuildConfig.URL_HTTP

通过上面的简单配置我们就可以在一套代码里生成多种环境的app

更多相关文章

  1. 我的 Android(安卓)开发实战经验总结
  2. 采用CakePHP框架为Android应用快速搭建Web Service服务器及API接
  3. Android中代码混淆和打包
  4. Android中的资源
  5. android双屏显示的一些修改与尝试
  6. Android常用的数据加密方式代码详解
  7. Qt开发Android范例详入门详解
  8. AndroidStudio快捷键和使用相关
  9. Android(安卓)Launcher研究(一)-----------图文详解手把手教你在

随机推荐

  1. CRM管理系统源码|客户关系管理源码
  2. 零基础如何开始学素描?学素描的基础知识
  3. 褶皱该怎么画?衣服褶皱绘画方法!
  4. vue首页、分类练习
  5. 尝鲜少代码高性能的Svelte框架
  6. 事件驱动的分布式事务架构设计
  7. android获取版本号
  8. Android(安卓)调用相册或相机选择图片
  9. android webview 文字复制
  10. Android:获取网页源代码