Android项目如何将同一套代码应用于多个项目

Android同一代码多个APP包并能够在同一个手机上安装运行 Android同一代码多个APP包并能够在同一个手机上安装运行Android同一代码多个APP包并能够==在同一个手机上安装运行==,同时==APP名称、桌面icon图标也都不同==给同一代码起不同的多个包名,并把APP名称和桌面图标设置为根据每个APP判断显示哪个的 Android同一代码多个APP包并能够在同一个手机上安装运行,同时APP名称、桌面icon图标也都不同 需要能够在... 阅读详情

如果你的公司开发了一个项目,但是这个项目应用于不同的客户,根据客户的不同要求,会改动一些东西,之前我们的做法是直接将这套代码复制出来,替换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类,在不同的项目文件写不同的配置文件,注意名字都要一样,

选择运行

当一切配置好后,我们开始选择运行如图选择运行的项目

这里写图片描述

打包

当我们选择了具体的项目后就是打包了

如图

这里写图片描述

后续需求待续。。。。

用安卓 WebView 做一个“壳”应用 前言 目前手机应用市场上的 APP 类型主要为以下两种: Native App(原生应用):直接针对平台(Android、iOS 等手机系统)进行开发,属于性能最优的方案,也是开发成本最大的方案。 Hybrid App(混合应用):即为原生 WebView 加 HTML5 网页内容的形式。只需要开发一套 HTML5 业务逻辑,就可以同时运行在不同的平台上,相对比较灵活,内容可以快速更新,开发维护成本较低。最大的缺点就是性能远不及原生应用,交互上也做不到原生的那么自然。 React Native 阅读详情

相关推荐

Win11家庭版如何让Win+R运行CMD默认管理员权限?3种方法实测有效

本文针对Win11家庭版用户,实测了三种让Win+R运行CMD默认获取管理员权限的有效方法。通过分析UAC机制与家庭版功能限制,详细介绍了注册表编辑、快捷方式创建与任务计划程序三种方案的原理、步骤与风险对比,帮助用户根据安全与效率需求选择最佳方案,实现一键高效管理。

sat99的博客 1136

多渠道打包:一套代码打包多个应用,配置不一样的应用名、包名、签名、图标

开发某个应用,基本功能是一样的,在打包的时候,区分渠道、配置不同的包名、签名。 1.新建一个工程 很简单,新建一个默认的 Hello World 工程就可以了。 2.新建对应渠道的文件夹 在 src 目录新建一个文件夹 qudao1 ,然后照着 main 文件的样子生成一样的目录,只需要目录,各目录下的文件先不要。 (要也不影响,本篇主要讲配置,不改代码) 在 src 目录新建一个文件夹 qudao2 ,操作同新建 qudao1 。 为了区分,我们简单修改下 string.xml , main 下的, &l

weixin_44021334的博客 6158

HTML金色流星雨(完整代码

HTML实现金色流星雨动态效果的完整代码

AIGC 928

android多个app在一个项目,android studio 一个项目如何打包多个apk

1.修改app的build.gradle文件假设我们同一代码编译2个app:demo1和demo2android {...productFlavors {// demo1demo1 {// 设置applicationId(这里很重要,两个相同applicationId的apk不同同时安装在同一Android手机中)applicationId "com.glorystudent.buglydem...

weixin_35595817的博客 2358

android 同一代码打包多个apk在同个手机上安装运行的方案

https://blog.csdn.net/oheg2010/article/details/89912956 https://blog.csdn.net/qq_28261207/article/details/82783283方案二 方案一,二都可以成功实现需求,建议使用方案二(原因在下面,也就是这个所谓的bug,也许我没有剖析透方案一,所以遇到了这个bug,但是仍然写下这个帖子,希望可以帮助到...

weixin_43755649的博客 685

android和java中的jar 不能通用_如何在Android项目中使用外部JAR?

我创建了一个Android项目,并在我的项目中添加了一个外部JAR(hessian-4.0.1.jar)。 然后我将JAR添加到构建路径并在Order和Export中将其检出。看起来忽略了Order和Export,并且运行时缺少外部JAR中的所有类。在使用Eclipse插件构建Android应用程序时,是否有从外部JAR正确包含所需类的技巧? 我不想使用蚂蚁或Maven。#1楼转到当前项目Righ...

weixin_42299873的博客 350

Android Studio 中多个module引用同一个jar(或者冲突解决)解决方案

Android开发过程中我们多多少少会引入module,不仅会提高项目的开发进度,而且项目管理起来相当方便。但是同一项目中引入多个module引入同一个jar或有冲突的jar时候在编译的时候会出现错误,这些错误往往让人抓狂。在解决这些错误之前,让我们先了解下关于module的几种依赖方式的区别(直接看解决方案请跳过)compilecompile是对所有的build type以及favlors都...

zhizhuodewo6的博客 6651

Android项目如何将同一代码应用于多个项目(变种打包)

测试姐姐提出项目A有一个bug,完了我改了这个项目的bug,那其他项目改不改呢,答案还是得改,浪费青春从现在开始,,,,,你得把复制出来的项目一一手动改掉,然后再一一重新上架。如果你的公司开发了一个项目,但是这个项目应用于不同的客户,根据客户的不同要求,会改动一些东西,之前我们的做法是直接将这代码复制出来,替换logo,applicationId,以及一些基本配置(如baseurl,等配置),简单是不是,换换图片一个app就开发完了,然而问题还在后面,当一切配置好后,我们开始选择运行如图选择运行的项目

Goals1989的博客 1008

android-同一代码多个APP

在开发中我们可能遇到各种需求,有时候公司为了渠道的推广或者制作马甲包,一套代码要打出多个App来。对于多个App的定义,首先applicationId不一样,可能App的名字也不一样,图标不一样,可能一些配置文件如服务地址,友盟的key等都不一样,但又确实是一套代码。为了不分出多的项目,避免后期更新麻烦,那么就需要我们类似多渠道配置进行配置

oheg2010的博客 3271

android 多个apk一起安装吗,在同一android设备上安装多个同一项目的apk

前言通常我们在一台android设备上(无论是真机还是模拟器),安装相同包名的apk应用都只能安装一个应用,如果设备上已经安装了一个apk,如何再次安装这个apk就会覆盖前面的应用,如果想要安装在同一台设备上安装多个相同的apk,唯一的办法只能是改包名了。简单的项目还好,当个一个项目中有许多的类的时候,手动去更改包名一定是一种不可取的方式。那么有没有什么简单的办解决呢?解决办法:在app下面的bu...

weixin_39922374的博客 1109

同一代码同一个apk,在同一个设备上安装为多个app

同一代码同一个apk,在同一个设备上安装为多个app。 比如想要在同一个手机上安装一份debug版本,一份release版本。但是后面安装的总会覆盖前面安装,最终只能安装一份。 安卓是用包名来区分apk的,如果包名相同,会被认为是同一个apk。 所以我们要作为两个不同app安装的需要修改包名。 在AndroidManifest.xml, <manifest xmlns:and...

华 英雄 1665

Android studio如何设置同时打开多个项目

今天将AS升级到Android Studio Flamingo | 2022.2.1 Patch 2后,打开一个新项目后,原打开的项目就关闭了。Current window表示在同一个窗口打开新项目 ,原打开的项目关闭。New windows表示在新窗口打开项目,原打开项目不关闭。1.菜单File->Settings。Ask表示每次打开项目询问如何选择。

anfenggang的博客 6864

android 一套代码多用 以及 多代码用于一个项目

文章关键字 productFlavors 目前在项目中遇到了这样一种情况,公司的产品需要在不同的机子(自己产品)上进行运行,有的是正常手机 有的是没有显示屏的手机,需要另外做处理。那么现在问题来了,总不可能一个产品一个项目把,那么我们就可以通过productflavors进行代码多用 项目使用mvp架构 demo也是以此为前提 第一种情况,代码不变,素材变化 举一个极端的例子,你家的app卖不出,...

weixin_30451709的博客 298

Android项目同一代码打包多个APK,解决Installation failed with message INSTALL_FAILED_CONFLICTING_PROVIDER.

  需求: 用一套代码打包多个APK,并且能够安装在同一台手机上  遇到的问题: 当安装到同一台手机上时会提示错误: Installation failed with message INSTALL_FAILED_CONFLICTING_PROVIDER.   能解决的问题都不是问题,宝贵的是解决问题的思路,谨以此文记录我的解决过程。。。。。。   用一套代码打包多个APK的配置...

qq_24834241的博客 2002

同一项目的不同的项目工作经验总结--程序员丁

<br />项目已经进展四个月了,在这段时间,我有了一些很大提高。下面做一下总结:<br />1. 在项目中,对于GridView的多个模块中,多种方式的使用,有了更进一步的<br />掌握,例如:<br />①怎么在模板列中加入多种控件,<br />    ②怎么实现在界面上修改完了,一起保存。虽然提高了很多,但是仍有一些技术<br />的难点,有待接下去项目中解决(当可编辑的单元格中数据发生改变,其它相应的单<br />元格值也发生改变)。<br />2. 对于框架的理解更进了一步。通过吉日经理的框架,

通用权限管理系统 810

如何进行Java项目代码管理?

之后,每次修改完代码后,使用git add、git commit提交到本地仓库,然后使用git push命令将该分支推送到远程仓库,即可实现Java项目代码管理。可以在Git平台或者命令行中查看项目的提交记录,回滚修改等操作。可以使用GitHub、GitLab等Git托管平台创建仓库,或者使用本地的Git仓库。Java项目代码管理可以使用版本控制工具,比如Git,Subversion等。

2301_78263023的博客 523

Android 同时打包多个apk

主要通过build脚本完成一次编译多个不同包名的apk包。

louise_tsc的博客 843

信息组织概论 (第二版).pdf

信息组织概论 (第二版).pdf

上一篇: Dagger2入门!精通!最美!死神的力量!
下一篇: ConstraintLayout完全解析
-大锅饭-
博客等级 码龄10年 15粉丝 95原创
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值