美文网首页
android studio 多版本控制

android studio 多版本控制

作者: a532628831fb | 来源:发表于2018-11-05 18:49 被阅读0次

    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类型修改这个值

    即可

    相关文章

      网友评论

          本文标题:android studio 多版本控制

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