您的位置:首页 > 移动开发 > Android开发

Android项目的环境分离如何配置

2017-03-20 19:44 399 查看
在开发中常遇到这样的情况:

        第一种:测试:“帮我打一个测试包”。我:“好”,过了一会,测试:“再帮我打个正式包” , 我:“好。。。”

        第二种:自己在测试的情况下,将服务器地址切到测试地址,清单文件里的各种第三方appkey,appsecret也用的测试的,但在打包时要将这些挨个挨个的改回来,一不小心就要出大问题了

要很好的解决这种情况,很多时候是要实现开发环境和测试环境的环境分离,这样测试在一个手机上可以同时装上正式包和测试包,我们在打包的时候也就不需要如履薄冰了

接下来上代码:

1.在app.gradle的buildTypes中增加debug模块,并添加 applicationIdSuffix '.debug'  属性

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}
debug {
applicationIdSuffix '.debug'

}
}
这样在buildVariants中就可以看见如下,有debug和release两种

 


2.接下来需要在src目录下新建debug包,并将main中的res赋值一份到debug目录下



3.在debug中的资源文件中可以进行修改,如果我们服务器地址引用的是strings文件中的值,那么在main的资源文件中用正式地址,在debug中输入的是测试地址,这样就可以实现debug包用的是测试地址,release包用的是正式地址(永远不用担心在打正式包的时候服务器地址忘改回来了)


4.在app.gradle中,android中添加signingConfigs , 并且在buildTypes中添加singingConfig

android {
signingConfigs {
release {
keyAlias '应用别名'
keyPassword '密码'
storeFile file('签名文件本地地址')
storePassword '签名文件密码'
}
debug {
keyAlias '别名'
keyPassword '密码'
storeFile file('签名文件本地地址')
storePassword '签名文件密码'
}
}
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.fengwo.mygradle2"
minSdkVersion 14
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
applicationIdSuffix '.debug'
signingConfig signingConfigs.debug
}
}
}


5.接下来就是打包了,可以选择正式包和测试包




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 环境分离