Android项目同一套代码应用于多个项目(变种打包)
如果你的公司开发了一个项目,但是这个项目应用于不同的客户,根据客户的不同要求,会改动一些东西,之前我们的做法是直接将这套代码复制出来,替换logo,applicationId,以及一些基本配置(如baseurl,等配置),简单是不是,换换图片一个app就开发完了,然而问题还在后面,
测试姐姐提出项目A有一个bug,完了我改了这个项目的bug,那其他项目改不改呢,答案还是得改,浪费青春从现在开始,,,,,你得把复制出来的项目一个一个地手动改掉,然后再一个一个地重新上架。妈的。这么复杂,直接吐血。其实之前我们也试过svn也有在一定程度上减少了工作量,但是还是不尽人意,其实,AS本身就给我们提供了一种简单的方法,废话少说,看下面
一、配置app.gradle区分不同项目
我们打开一个项目,查看app.gradle文件在android节点添加
-
//区分不同项目的
-
productFlavors{
-
//攀枝花项目
-
coupon_pzh{
-
applicationId "com.daqsoft.android.pzhcoupon"
-
}
-
-
//乌鲁木齐项目
-
coupon_wlmq{
-
applicationId "com.daqsoft.android.wlmqcoupon"
-
}
-
}
上面作用就是在当你选择不同类型项目的资源配置文件的时候(怎么选看后面)app会自动去寻找相应的文件进行加载,附带完整版app.gradle
-
apply plugin: 'com.android.application'
-
-
android {
-
compileSdkVersion 23
-
buildToolsVersion "23.0.3"
-
-
defaultConfig {
-
applicationId "com.daqsoft.android.pzhcoupon"
-
minSdkVersion 14
-
targetSdkVersion 14
-
}
-
-
buildTypes {
-
release {
-
minifyEnabled false
-
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
-
}
-
}
-
-
//区分不同项目的
-
productFlavors{
-
//攀枝花项目
-
coupon_pzh{
-
applicationId "com.daqsoft.android.pzhcoupon"
-
}
-
-
//乌鲁木齐项目
-
coupon_wlmq{
-
applicationId "com.daqsoft.android.wlmqcoupon"
-
}
-
}
-
-
}
-
-
dependencies {
-
compile project(':zskuangjia')
-
...
-
}
你如果还要做成其他项目请在上面productFlavors节点添加就是。
注意如果你的项目有如下请删除,(不知道为什么,反正就是要删除)
-
signingConfigs {
-
debug {
-
storeFile file("pzhcoupon.jks")
-
storePassword "daqsoft"
-
keyAlias "daqsoft"
-
keyPassword "daqsoft"
-
}
-
release {
-
storeFile file("pzhcoupon.jks")
-
storePassword "daqsoft"
-
keyAlias "daqsoft"
-
keyPassword "daqsoft"
-
}
-
}
好上面已经完成了大部分工作了,接下来我们开始提需求了哈,将这个项目改成另外一个项目,要求替换项目的根地址,logo,及一些配置,步骤如下
二、替换步骤
1、建立项目文件夹
首先我们得建立app的src目录下与main同级的项目如下,然后分别建立java和res文件
修改改文字
我们建立了不同项目的文件夹,要想让app_name不同,需要在对应的项目res的strings下如图添加名称
三个文件都叫app_name,当选择不同项目时会自动加载不同的app_name,图片类似
<string name="app_name">优惠奖励申报 </string>
怎么创建常量
在项目中我们会存在不同项目用不同的请求地址,那这个配置文件写在哪里呢 ,我们建立了三个文件夹,请看结构
我们就创建了config类,在不同的项目文件写不同的配置文件,注意名字都要一样,
选择运行
当一切配置好后,我们开始选择运行如图选择运行的项目
打包
当我们选择了具体的项目后就是打包了
如图
后续需求待续。。。。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgagbha
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01