android studio 多版本控制

2018-11-05  本文已影响0人  a532628831fb

Android开发过程中可能会出现需要针对不同客户发布不同的版本,可以通过gradle来控制。

AndroidManifest.xml代码如下:

applyplugin:'com.android.application'

//该段代码使用增加对于的版本控制

def apps = [

//版本1

        bread1 : [

appName:"bread1",

applicationId:"com.bread1.admin.aactivity",

versionName:"2.0"

        ],

//版本2

        bread2:[appName:"bread2",

versionName:"3.0",

applicationId:"com.bread2.admin.aactivity",]

];

def app =apps.bread2;//需要打包其他APP类型修改这个值

android {

compileSdkVersion28

    defaultConfig {

applicationId app.applicationId

        minSdkVersion15

        targetSdkVersion28

        versionCode1

        versionName app.versionName

        testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"

    }

buildTypes {

//控制编译时候代码路径

        release {

minifyEnabledfalse

            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

            sourceSets.release.res.srcDirs=['src/'+app.appName+'/res']

sourceSets.release.java.srcDirs=['src/'+app.appName+'/java']

sourceSets.release.manifest.srcFile'src/'+app.appName+'/AndroidManifest.xml'//如果有不一样的activity需要在这里新加

        }

//控制编译时候代码路径

        debug{

sourceSets.debug.res.srcDirs=['src/'+app.appName+'/res']

sourceSets.debug.java.srcDirs=['src/'+app.appName+'/java']

sourceSets.debug.manifest.srcFile'src/'+app.appName+'/AndroidManifest.xml'

            println"ymk debug"

        }

}

//代码资源设置

    sourceSets{

main{

java.srcDirs = ['src/main/java']

res.srcDirs=['src/main/res']

}

}

}

dependencies {

implementation fileTree(dir:'libs',include: ['*.jar'])

implementation'com.android.support:appcompat-v7:28.0.0'

    implementation'com.android.support.constraint:constraint-layout:1.1.3'

    testImplementation'junit:junit:4.12'

    androidTestImplementation'com.android.support.test:runner:1.0.2'

    androidTestImplementation'com.android.support.test.espresso:espresso-core:3.0.2'

}

然后在工程中 src底下增加对于版本,这么以增加bread2为例子。如下图

其中AndroidManifest.xml是添加的方式 不是覆盖原来代码

将有差异化的代码放到对于bread2底下

到时候需要更换版本只要在gradle里面修改

def app =apps.bread2;//需要打包其他APP类型修改这个值

即可

上一篇 下一篇

猜你喜欢

热点阅读