java - 如何在不影响活跃用户的情况下测试您的应用?
问题描述
我很快准备好在 Play 商店上发布我的应用程序,但我想知道如何在不影响用户的情况下编辑/添加功能/更新我的应用程序。例如,如果我决定从服务器中添加或删除某些内容,我不希望整个应用程序在用户身上崩溃。基本上运行一个克隆,我可以在其中尝试任何我想要的东西,并且它与原始应用程序保持分离。我怎么做?
如果我让大家感到困惑并且我的英语不是最好的,我真的很抱歉。
解决方案
为此,您将运行一个开发服务器并拥有多个应用程序构建。
您可以使用 google play 将该应用程序分发给您的测试用户,如此处所述,或者您可以在测试设备上手动安装该应用程序。手动安装(如果您有几个测试用户)比等待 google play 推送更新更快。
至于如何设置它,这将取决于您在做什么以及使用什么工具。通常你会使用 BuildConfig.java 变量在 android 中设置多个构建。在那里,您可以检查构建类型并使用特定的 API 密钥/服务器 URL,也可以根据构建传递不同的值。更多信息在这里。
基本上在您的 build.gradle 中,您将拥有:
android {
...
buildTypes {
release {
buildConfigField("String", "SERVER_URL", "https://api.example.com/")
}
debug {
buildConfigField("String", "SERVER_URL", "https://api.dev.example.com")
}
}
}
您可以从 Build > Select Build Variant... 或 Android Studio 的侧边栏中切换您正在构建的变体
现在你可以从你的代码中访问这些:
BuildConfig.SERVER_URL
接下来,您将该应用程序分发给您的测试用户。
至于服务器端,这取决于您现在如何设置它以及您希望如何设置它。
推荐阅读
- css - 在不影响边距或尺寸的情况下,在 div 中居中文本?
- node.js - nodejs:尝试与 SignalR api 交谈时出现未知错误
- python-3.x - 将在 Conda 环境中创建的 Python App 部署到 Heroku
- tensorflow - 使用 Bazel 安装 Tensorflow 时出现 CalledProcessError
- java - 实际请求参数不满足消息参数条件“拒绝”:reason={}
- c# - 如何在 c# Azure Function 项目中的多个类中重用 ILogger?
- html - Div 开头的图标/图像
- ios - 将第三方框架链接到我自己的框架,使用 Carthage 分发
- android - 将 gradle 版本更新到 5.1.1,但 kapt 不起作用
- c - 如何将 .h 文件的内容插入字符串以进行运行时编译?