Android同时安装Release和Debug版本的方法

作者:玲の 时间:2022-02-11 08:51:20 

一般项目做到后期,在测试的时候,需要在测试版本和正式版本之间进行频繁的切换,怎么办呢?土豪的话可以考虑使用两台机器,同时测试,然而为了方便测试,节约成本,最好的办法当然是在同一台机器上安装不同的版本。

然而,原则上来说,两个APP同时安装,由于签名和包名的问题是不可以的,不过,万能的天道之下,只有你想不到的,没有做不到的,首先我们分析一下原因,1.签名、2包名。也就是说,只要解决了这两个问题我们就成功了一半。第一个自然好解决,debug和release我们分别指定不同的签名就行了。第二个怎么办呢?难道要复制一份代码,修改包名吗?这样岂不是显得太low?而且两个项目同时跟进维护容易出错。最重要的是显示不出逼格啊!这个时万能的gradle出来了(那谁,不要扔鞋子啊!…………)

1.找到build.gradle(Module: app)

找到BuildTypes中添加如下代码


buildTypes {
 release {
  applicationIdSuffix ".release"
  resValue "string", "app_name", "@string/app_name_release"
//   minifyEnabled false
//   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
 }

debug {
  applicationIdSuffix ".debug"
  resValue "string", "app_name", "@string/app_name_debug"
 }
}

2.找到strings.xml

添加代码


<string name="app_name_release">Release版本</string>
<string name="app_name_debug">Debug版本</string>

3.找到AndroidManifest.xml


<application
 android:allowBackup="true"
 android:icon="@mipmap/ic_launcher"
 android:label="@string/app_name"
 android:supportsRtl="true"
 android:theme="@style/AppTheme">

<activity android:name=".MainActivity">
  <intent-filter>
   <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
 </activity>

</application>

来源:https://segmentfault.com/a/1190000017486137

标签:Android,安装,Release,Debug
0
投稿

猜你喜欢

  • JavaFX实现简单日历效果

    2023-05-16 08:43:30
  • jdk自带线程池实例详解

    2022-05-14 02:04:56
  • java如何将一个float型数的整数部分和小数分别输出显示

    2022-08-17 16:50:26
  • 轻松学习C#的String类

    2021-06-21 02:03:06
  • android APP登陆页面适配的实现

    2022-08-27 17:55:57
  • java实现的日期时间转换工具类完整示例

    2022-10-08 19:05:28
  • java动态代理(jdk与cglib)详细解析

    2022-06-01 19:14:21
  • RxJava2.x实现定时器的实例代码

    2023-08-06 17:41:01
  • Java 把json对象转成map键值对的方法

    2023-08-25 01:58:14
  • C#实现策略模式

    2022-02-09 17:19:01
  • springboot 2.0 mybatis mapper-locations扫描多个路径的实现

    2023-07-12 02:30:53
  • Springboot笔记之热部署及不生效的解决方案

    2023-11-03 02:40:00
  • jdk1.8中的for循环问题记录

    2023-10-16 04:08:34
  • C# 获取当前总毫秒数的实例讲解

    2023-02-22 12:57:00
  • Kotlin启动协程的三种方式示例详解

    2023-06-07 02:58:53
  • C语言与C++中关于字符串使用的比较

    2022-01-22 01:30:37
  • Java 实现repalceAll只替换第二个匹配到的字符串

    2021-06-12 11:56:20
  • Java中常用缓存Cache机制的实现

    2023-05-27 23:32:22
  • Android 完全退出的实例详解

    2022-11-01 22:56:22
  • Java的动态绑定与双分派_动力节点Java学院整理

    2021-07-14 11:18:50
  • asp之家 软件编程 m.aspxhome.com