美文网首页
android_gradle_区分环境打包_可同时安装在一部手机

android_gradle_区分环境打包_可同时安装在一部手机

作者: 美男子_杰琳塔 | 来源:发表于2018-08-22 14:39 被阅读0次

    一般公司开发有许多种环境,至少接口请求前缀会不同,存在测试环境和线上环境,另外可能还有许多不同的配置,如下配置可使app使用不同配置打包。

    android{

    ...

    buildTypes {

    mytest {//测试环境

                manifestPlaceholders = [appname:"app测试版"]

                signingConfig signingConfigs.debug

                applicationIdSuffix '.mytest'//为applicationId添加后缀,这样可以多个版本一起安装在同一部手机

                buildConfigField" String","API_HOST","\"${props['mytest_host']}\""

                ...

                }

    debug {//开发环境

                manifestPlaceholders = [appname:"app开发版"]

                signingConfig signingConfigs.debug

                applicationIdSuffix '.debug'

                buildConfigField "String","API_HOST","\"${props['debug_host']}\""

                ...

            }

    release {

                manifestPlaceholders = [appnamee:"营销助手",JPUSH_PKGNAME:"com.ezr.assistant.sellerassistant"]

                signingConfig signingConfigs.release

                buildConfigField "String","API_HOST","\"${props['release_host']}\""

                ...

                minifyEnabled true//混淆

                zipAlignEnabled true //Zipalign优化

                shrinkResources true// 移除无用的resource文件

            }

        }

    }

    以上例子中的API_HOST使用的话BuildConfig.API_HOST即可在代码中取到其值,另外如果原来有使用BuildConfig.DEBUG的,如果多配了一个其它环境最好给用一个自己定义的量,因为BuildConfig.DEBUG在除debug环境以外是默认为false的

    相关文章

      网友评论

          本文标题:android_gradle_区分环境打包_可同时安装在一部手机

          本文链接:https://www.haomeiwen.com/subject/ktxyiftx.html