1

我有一个正在为几个不同的客户开发的应用程序。该应用程序对于每个客户来说都是完全相同的,只是公司名称、联系方式和徽标图形不同。将在 Google Play 上提供的所有应用程序。

有什么方法可以管理应用程序,以便我只需要更新一次代码即可在所有客户端上发布更改?即如果我对代码进行更改,我可以上传一次,所有的应用程序都可以从那里更新吗?

我认为 Play Store 上的应用程序本质上是一个骨架 apk,然后它可以下载并安装适当的 APK 并从 Web 服务检索适当的自定义数据,然后以编程方式处理检查应用程序 apk 的更新版本。我在这里看到的唯一问题是用户需要启用来自未知来源的安装,这不适合我们的客户。

有人对如何实现这一点有任何其他想法吗?

4

3 回答 3

3

1.) 通过在线下载自定义位并将其存储在私有存储中,制作一个容器应用程序并将其“提供”给适当的客户端。例如,您可以下载一个 XML 文件,其中包含定义 UI 的元素和对徽标图形的引用,然后在运行时应用这些资产。如果您想单机运行,您可以提供一个启动器小部件,该小部件将从下载的资产更新到选定的客户端。

2.) 在 Eclipse 中的库项目中编写核心功能,然后为每个客户端(具有不同的资产和 values.xml)包含该库的自定义应用程序。您的所有业务逻辑和 UI 的冲击都将在客户端之间共享,但前端部分将是自定义的。

是的,您必须维护几个包,并且发布将是一些额外的工作。另一方面,这是一种非常干净的方法,可以最大限度地重用代码。

于 2012-11-13T07:31:03.713 回答
0

就我个人而言,我会根据可以与应用程序打包的配置文件来制作尽可能多的应用程序外观。图像、标签等都可以在运行时确定。您必须找到一种方法来发送或下载“配置”文件,但有一次(在安装期间)用户将被连接。

于 2012-11-13T09:10:21.080 回答
-1

当然,做到这一点的一种方法是将应用程序开发为网络应用程序。然后,容器应用程序需要包含的所有内容都是 web 视图和应用程序所属公司的详细信息。然后,Web 服务可以处理所有请求。

此方法的问题是您无法访问 android UI 小部件集。而且,据我所知,您无法从 webview 中的代码访问设备定位服务等功能?

于 2012-11-13T07:29:27.393 回答