Android - 测试版与生产版

我遇到了问题。我需要以两种方式构建一个应用程序,第一个构建用于开发(测试)使用,第二个构建应该是生产版本。有什么方法可以以编程方式进行吗? (使用一些构建引擎)我的意思是如果可能的话,两个应用程序应该同时在一台设备上运行。两个版本都是来自一个 Android 项目的 APK。

谢谢

最佳答案

我个人用这个来判断我是否处于 Debug模式:

final PackageInfo pinfo = getPackageInfo(ctx);
final boolean debugMode = (pinfo.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;

此代码基于android-manifest.xmlApplication标签的debuggable属性:

  • 如果此属性显式设置为 truedebugMode 将设置为 true

  • 但如果它显式设置为 false 或在 xml 中不存在(隐式值),debugMode 将设置为 false.

这样做您不能同时在同一设备上运行两个应用程序,因为两个 APK 需要同时安装两个不同的包名称。所以你必须构建两个 Eclipse 项目,每个项目都有自己的包名(例如 com.example.myapp.debugcom.example.myapp),以及为什么不使用包含几乎所有代码的通用库 (com.example.myapp.common):

  • com.example.myapp.debugdebuggable 标志设置为 true

  • com.example.myappdebuggable 标志设置为 false

https://stackoverflow.com/questions/7427906/

相关文章:

java - 最好的 Ant 教程/快速入门?

php - 使用 Hudson/Jenkins 部署 PHP 项目

r - 如何确定我的 R 安装正在使用哪些矩阵库?

visual-studio - 如何将 include/lib 目录添加到 MSVC 2015 解决

.net - 在构建时生成的 T4 模板上使用的 MSBuild 锁定 dll

c# - Visual Studio 可以将项目引用编译到不同的文件夹然后是主 .exe

java - 在 Eclipse 中添加 API 基线

build - 什么是有用的分支版本控制策略?

java - 如果激活多个配置文件,如何解决冲突的属性

c++ - 使用 Cython 和 C++ 组织项目