用Android Studio 打包同一产品不同版本 分析

来源:互联网 发布:伟福软件 编辑:程序博客网 时间:2024/06/09 23:28

       申请CSDN账号一年多了了,到今天才来写第一篇博客,原谅我的姗姗来迟。最近学习的东西挺多的,每次学习也都是当时懂,过后很少留下什么记忆。时间一长又变成了模糊的知识点了。好记性不如烂笔头,多多总结并亲身写下来这样的感受是很不一样的,我觉得更为系统一些。

       闲话不多说了,直接进入这篇博客的主题:如何用android studio 对同一产品app打不同的版本,可以使得不同版本的app在同一设备上同时存在?

       我们在开发项目的时候可能会遇到这样的情况,同一应用有的时候我们需要进行不同的操作,比如说访问不同的后台,如果是b2b产品可能会有不同的客户对应不同需求功能的改变,这个时候我们就需要打不同的版本了。下面拿我在项目开发过程中遇到的问题总结分析,介绍具体操作过程:

      我们产品是b2b的产品,主要针对的客户人群是银行客户和大型保险公司。我们开发的产品有主产品,和不同的客户的分支产品,分支里的不同客户对应的产品都是从主产品上打包不同版本产生的。

       打包不同的版本步骤如下:

        
1.  修改项目的build.gradle文件

     gradle文件中defaultConfig是默认配置,要修改的是productFlavor(产品特点或者叫产品版本)里面的东西;

productFlavors {    instantBlue {        //v3 内部测试版        applicationId "com.bayss.mydc.pure.instantBlue"        minSdkVersion 16 //使Instant Run生效的minSdkVersion        versionCode 25        versionName "C_I_5.0.3"    }    instant {        //v3 内部测试版        applicationId "com.bayss.mydc.pure.instant"        //applicationId "com.bayss.mydc.pure.instant.other_1"        minSdkVersion 16 //使Instant Run生效的minSdkVersion        versionCode 35        versionName "C_I_5.0.8.5"    }

    如上图将instantBlue拷贝一份重新命名为instant;并修改里面的applicationId,不同的applicationId对应的不同的app,这是app的不同的身份。minSdkVersion可以不同改。versionCode需要改,如果是不同版本的第一版就可改为1,第二版就改为2,一次累加,versionName也需要改也是一次累加。改完之后记得syno Now一下。
2.  不同的版本引用的同的资源文件,所以需要将src文件下的copy一份资源文件res,可保留不同版本共同引用的资源如drawable和values等文件,copy的资源文件的那一份需要把名称命名为与productflavors里copyde 内容的名称一样如上图也就是instant,否则对应版本引用的还是原先的资源文件
3. 修改清单文件; 清单文件里的所有provider的authorities需要改为与原来的值不一样的名字


4.以上都改完后,运行debug版或者打包debug版即可成功,记得选择的buildVariant为对应的版本的debug版本。



















阅读全文
0 0
原创粉丝点击